本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

文章是哥(mephisto)写的,SourceLink

阅读目录

本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

文章是哥(mephisto)写的,SourceLink

 

介绍

    这个TextBoxEx控件是cs下的,为了广大的框架都能用,就基于Framework2.0,主要有原来的textbox的功能,然后追加了EditValueChanging,数字类型输入,最大值,最小值。大家可以看完后追加下功能,比如正则输入。

起因

 

      也是5年前的事情了,当时在做cs,一般cs都会用第三方控件,比如Dev等,dev中就有很多人性化的控件,比如我们用的比较多textbox,他就有EditValueChanging事件,当时我就想,不可能所以的小项目还要用到dev,那又想自己用到这么方便的控件怎么办,于是我就开始自己做了这个控件,抛砖引玉,只是丰富了一点,但确实对我那个年代的技术提高起了些许作用。

代码

  我们先看下项目结构,因为就一个扩展控件,所以整体上看,组织结构很简单。如图:

多年前写的文本框扩展控件(有ValueChanging事件等),已放github

在ControlsEx这个工程中,主要一个自定义的事件所需参数ChangingEventArgs和一个扩展控件TextBoxEx

一:ChangingEventArgs:

     主要定义EditValueChanging所需的数据结构。

 1     /// <summary>
 2     /// 正在改变EventArgs
 3     /// </summary>
 4     public class ChangingEventArgs : CancelEventArgs
 5     {
 6         private object newValue;
 7         private object oldValue;
 8 
 9         /// <summary>
10         /// 正在改变EventArgs
11         /// </summary>
12         /// <param name="oldValue">原值</param>
13         /// <param name="newValue">新值</param>
14         public ChangingEventArgs(object oldValue, object newValue)
15             : this(oldValue, newValue, false)
16         {
17         }
18 
19         /// <summary>
20         /// 正在改变EventArgs
21         /// </summary>
22         /// <param name="oldValue">原值</param>
23         /// <param name="newValue">新值</param>
24         /// <param name="cancel">是否取消</param>
25         public ChangingEventArgs(object oldValue, object newValue, bool cancel)
26             : base(cancel)
27         {
28             this.oldValue = oldValue;
29             this.newValue = newValue;
30         }
31 
32         /// <summary>
33         /// 新值
34         /// </summary>
35         public object NewValue
36         {
37             get
38             {
39                 return this.newValue;
40             }
41             set
42             {
43                 this.newValue = value;
44             }
45         }
46 
47         /// <summary>
48         /// 原值
49         /// </summary>
50         public object OldValue
51         {
52             get
53             {
54                 return this.oldValue;
55             }
56         }
57     }
View Code

相关文章:

  • 2022-12-23
  • 2022-02-20
  • 2021-12-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-06
  • 2021-08-15
  • 2021-10-27
  • 2021-10-30
  • 2021-09-29
  • 2022-12-23
相关资源
相似解决方案