自定义控件界面
自定义窗体代码
public partial class QueueBtn2 : UserControl { #region 属性 private string ucFontSize; public string UCFontSize { get { return this.ucFontSize; } set { ucFontSize = value; //this.btnContent.Font = new Font(); } } private string ucValue; public string UCValue { get { return this.ucValue; } set { ucValue = value; this.btnContent.Text = ucValue; } } private string callType; public string CallType { get { return callType; } set { callType = value; } } private string ucName; public string UcName { get { return ucName; } set { ucName = value; this.btnContent.Name = ucName; } } private bool ucEnable; public bool UcEnable { get { return ucEnable; } set { ucEnable = value; if (ucEnable) this.btnContent.BackColor = Color.White; else this.btnContent.BackColor = Color.Gray; } } #endregion public QueueBtn2() { InitializeComponent(); } private EventHandler _btn_Click = null; /// <summary> /// 触发统计按钮委托 /// </summary> /// <param name="handler"></param> public void SetBtn_OnClick(EventHandler handler) { if (_btn_Click == null) { _btn_Click = handler; } else _btn_Click -= handler; } /// <summary> /// 统计按钮委托 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void BtnOnClick(object sender, EventArgs e) { if (_btn_Click != null) { _btn_Click(sender, e); } } public void btnContent_Click(object sender, EventArgs e) { //MessageBox.Show("Test"); try { BtnOnClick(this, e); } catch { return; } } }
使用窗体代码实现:
private void Add(QueueBtn2 item, int value, Panel panel, int colCount, string beginTime, string endTime, string type) { if (panel.Controls.Count == 0) { item.Location = new Point(UcMargin, UcMargin); item.UCValue = value.ToString() + "\n" + beginTime + "\n" + endTime; item.UcName = "btn" + type + value; item.Name = "btn" + type + value; item.SetBtn_OnClick(Send); .............. } public void Send(object sender, EventArgs e) { //需要实现的业务逻辑 }
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本