前提
入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。
GitHub:https://github.com/kwwwvagaa/NetWinformControl
码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git
如果觉得写的还行,请点个 star 支持一下吧
目录
https://www.cnblogs.com/bfyx/p/11364884.html
准备工作
其实我也不知道这个应该叫什么名字,暂且叫有后退的窗体吧,这个窗体继承子基类窗体FrmBase,如果你对FrmBase还不了解,请移步 (十七)c#Winform自定义控件-基类窗体 查看
开始
添加一个Form,命名FrmBack,继承自FrmBase
属性
1 private string _frmTitle = "自定义窗体"; 2 /// <summary> 3 /// 窗体标题 4 /// </summary> 5 [Description("窗体标题"), Category("自定义")] 6 public string FrmTitle 7 { 8 get { return _frmTitle; } 9 set 10 { 11 _frmTitle = value; 12 btnBack1.BtnText = value; 13 } 14 } 15 [Description("帮助按钮点击事件"), Category("自定义")] 16 public event EventHandler BtnHelpClick;
一点小事件
1 private void btnBack1_btnClick(object sender, EventArgs e) 2 { 3 this.Close(); 4 } 5 6 private void label1_MouseDown(object sender, MouseEventArgs e) 7 { 8 if (BtnHelpClick != null) 9 BtnHelpClick(sender, e); 10 }
完整代码
1 // 版权所有 黄正辉 交流群:568015492 QQ:623128629 2 // 文件名称:FrmTemp1.cs 3 // 创建日期:2019-08-15 16:04:48 4 // 功能描述:FrmTemp1 5 // 项目地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 6 using System; 7 using System.Collections.Generic; 8 using System.ComponentModel; 9 using System.Data; 10 using System.Drawing; 11 using System.Linq; 12 using System.Text; 13 using System.Windows.Forms; 14 15 namespace HZH_Controls.Forms 16 { 17 [Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(System.ComponentModel.Design.IDesigner))] 18 public partial class FrmBack : FrmBase 19 { 20 private string _frmTitle = "自定义窗体"; 21 /// <summary> 22 /// 窗体标题 23 /// </summary> 24 [Description("窗体标题"), Category("自定义")] 25 public string FrmTitle 26 { 27 get { return _frmTitle; } 28 set 29 { 30 _frmTitle = value; 31 btnBack1.BtnText = value; 32 } 33 } 34 [Description("帮助按钮点击事件"), Category("自定义")] 35 public event EventHandler BtnHelpClick; 36 37 public FrmBack() 38 { 39 InitializeComponent(); 40 } 41 42 private void btnBack1_btnClick(object sender, EventArgs e) 43 { 44 this.Close(); 45 } 46 47 private void label1_MouseDown(object sender, MouseEventArgs e) 48 { 49 if (BtnHelpClick != null) 50 BtnHelpClick(sender, e); 51 } 52 } 53 }