很多时候我们需要使用到自定义控件 而在C#中 我们主要以3中方式创建自定义控件,还有些需要注意的地方时常被忽略 比如Click事件,用户控件的Click并不像系统的Button单击1.继承自.NET类库中已有的控件 如TextBox MenuStrip Pannel2.继承自Control类3.继承自UserControl类 下面是3个小示例1.继承自类库中现有的控件下面自定义一个ExtendTextBox 该控件扩展了一个属性,可以现在文本框只能输入数字,字母或者所有字符 1 public class ExtendTextBox : System.Windows.Forms.TextBox 2 { 3 private AllowType _allowType = AllowType.All; 4 public AllowType AllowType 5 { 6 get { return _allowType; } 7 set { _allowType = value; } 8 } 9 10 protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)11 {12 //设置此属性为true 基方法将不再处理此KeyPress事件13 e.Handled = true;14 15 if (_allowType == AllowType.Number)16 {17 //如果输入是0-9 交由基方法处理 允许输入18 if (e.KeyChar >= '0' && e.KeyChar <= '9')19 e.Handled = false;20 }21 else if (_allowType == AllowType.Letter)22 {23 //如果输入是A-Z或a-z 交由基方法处理 允许输入24 if (e.KeyChar >= 'A' && e.KeyChar <= 'z')25 e.Handled = fal
C#自定义控件3中方式
最新推荐文章于 2020-06-05 14:20:54 发布