using AntdUI; using System; using System.Drawing; using System.Windows.Forms; namespace AntdUIDemo.Views { public partial class FloatButtonDemo : UserControl { private Form form; private Form floatButtonForm = null; public FloatButtonDemo(Form _form) { form = _form; InitializeComponent(); //初始化下拉框 InitSelectItems(); //设置默认值 SetDefaultSelectItem(); // 加载浮动按钮 LoadBaseFloatButton(); } // 初始化下拉框 private void InitSelectItems() { //初始化方向 select_align.Items.Clear(); foreach (TAlign align in Enum.GetValues(typeof(TAlign))) { select_align.Items.Add(align); } //初始化形状 select_shape.Items.Clear(); foreach (TShape shape in Enum.GetValues(typeof(TShape))) { select_shape.Items.Add(shape); } //初始化类型 select_type.Items.Clear(); foreach (TTypeMini type in Enum.GetValues(typeof(TTypeMini))) { select_type.Items.Add(type); } } // 设置默认值 private void SetDefaultSelectItem() { select_align.SelectedIndex = 7; select_shape.SelectedIndex = 0; select_type.SelectedIndex = 0; select_topmost.SelectedIndex = 1; select_vertical.SelectedIndex = 0; input_size.Value = 40; input_mx.Value = 24; input_my.Value = 24; input_radius.Value = 6; input_badge.Text = ""; input_badgesize.Value = 6; colorPicker.Value = Color.FromArgb(22, 119, 255); } // 加载浮动按钮 private void LoadBaseFloatButton() { if (floatButtonForm == null || floatButtonForm.IsDisposed) { floatButtonForm = FloatButton.open(new FloatButton.Config(form, new FloatButton.ConfigBtn[] { // 使用 svg 图片 new FloatButton.ConfigBtn("按钮1","",true) { Tooltip = "SVG图片按钮", IconSvg = "", Shape = select_shape.SelectedIndex == 0 ? TShape.Default :(select_shape.SelectedIndex == 1 ? TShape.Round : TShape.Circle), Type = (TTypeMini)select_type.SelectedValue, Radius = Convert.ToInt32(input_radius.Value), Badge = input_badge.Text, BadgeSize = (float)input_badgesize.Value, BadgeBack = colorPicker.Value, }, // 使用资源图片 new FloatButton.ConfigBtn("按钮2", Properties.Resources.关闭) { Tooltip = "资源图片按钮", Shape = select_shape.SelectedIndex == 0 ? TShape.Default :(select_shape.SelectedIndex == 1 ? TShape.Round : TShape.Circle), Type = (TTypeMini)select_type.SelectedValue, Radius = Convert.ToInt32(input_radius.Value), Badge = input_badge.Text, BadgeSize = (float)input_badgesize.Value, BadgeBack = colorPicker.Value, }, // 使用文本 new FloatButton.ConfigBtn("按钮3", "关闭") { Tooltip = "文本按钮", Shape = select_shape.SelectedIndex == 0 ? TShape.Default :(select_shape.SelectedIndex == 1 ? TShape.Round : TShape.Circle), Type = (TTypeMini)select_type.SelectedValue, Radius = Convert.ToInt32(input_radius.Value), Badge = input_badge.Text, BadgeSize = (float)input_badgesize.Value, BadgeBack = colorPicker.Value, }, }, btn => { //回调事件 }) { // 配置 Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point), Control = null, Align = (TAlign)select_align.SelectedIndex, Vertical = select_vertical.SelectedIndex == 0, TopMost = select_topmost.SelectedIndex == 0, Size = Convert.ToInt32(input_size.Value), MarginX = Convert.ToInt32(input_mx.Value), MarginY = Convert.ToInt32(input_my.Value), }); } } // 添加清理逻辑 public void CloseFloatButtonForm() { if (floatButtonForm != null) { floatButtonForm?.Close(); floatButtonForm?.Dispose(); floatButtonForm = null; } } // 重置 private void buttonCZ_Click(object sender, EventArgs e) { SetDefaultSelectItem(); CloseFloatButtonForm(); LoadBaseFloatButton(); } // 设置 private void buttonOpen_Click(object sender, EventArgs e) { CloseFloatButtonForm(); LoadBaseFloatButton(); } // 关闭 private void buttonClose_Click(object sender, EventArgs e) { CloseFloatButtonForm(); } } }