antdui-demo/Views/GridPanelDemo.cs

83 lines
2.4 KiB
C#

using AntdUI;
using System;
using System.Drawing;
using System.Windows.Forms;
namespace AntdUIDemo.Views
{
public partial class GridPanelDemo : UserControl
{
public GridPanelDemo()
{
InitializeComponent();
//设置默认值
InitData();
// 绑定事件
BindEventHandler();
}
private void GridPanelDemo_Load(object sender, EventArgs e)
{
LoadGridPanel(input_span.Text, input_gap.Value);
}
private void InitData()
{
input_gap.Value = 0;
input_span.Text = "50% 50%;20% 80%;150 200;-20% 30% 50%";
}
private void BindEventHandler()
{
buttonCZ.Click += buttonCZ_Click;
input_span.TextChanged += input_span_TextChanged;
input_gap.ValueChanged += input_gap_ValueChanged;
}
private void LoadGridPanel(string spantext, decimal gap)
{
gridPanel.Controls.Clear();
if (gridPanel.InvokeRequired)
{
gridPanel.Invoke(new Action(() => LoadGridPanel(spantext, gap)));
return;
}
gridPanel.Span = spantext;
gridPanel.Gap = (int)gap;
spantext = spantext.Substring(0, spantext.IndexOf('-'));
string[] array = spantext.Split(new char[] { ' ', ';' }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 1; i < array.Length + 1; i++)
{
var control = new AntdUI.Button()
{
Text = "Button" + i,
Type = TTypeMini.Primary,
WaveSize = 0,
Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134))),
};
gridPanel.Controls.Add(control);
control.BringToFront();
}
}
#region
private void input_gap_ValueChanged(object sender, DecimalEventArgs e)
{
LoadGridPanel(input_span.Text, input_gap.Value);
}
private void input_span_TextChanged(object sender, EventArgs e)
{
LoadGridPanel(input_span.Text, input_gap.Value);
}
private void buttonCZ_Click(object sender, EventArgs e)
{
InitData();
LoadGridPanel(input_span.Text, 0);
}
#endregion
}
}