自定义控件——只能输入数字的文本框

来源:互联网 发布:网络大电影后期宣发 编辑:程序博客网 时间:2024/05/19 02:21

        在程序中,我们经常会用到限制条件一样的控件,如只能输入数字,那么,我们需要每次都限定一下,在机房中,大家应该可以体会到做了很多重复的工作,那么有没有办法可以减少这种重复工作呢?答案当然是有,有两种方法可以解决一种是定义一个类,继承即可;另一种是自定义控件。下面我介绍一下如何自定义控件。

        自定义控件的步骤:

        1、新建windows控件库;

        2.、编辑需要的控件;

        3、生成;(生成项目的bin,debug下面的dll文件即是你自定义的控件)

        4、在需要的项目中——选择“工具箱”——右击任意控件——点击“选择项”——点击“浏览”——添加“工程项目.dll”,即可在工具箱中看见自定义的控件。


图片示意如下:

      一、新建Windows控件库

     进入后,如下图所示:


     二、编辑需要的控件,如只能输入数字的文本框


只能输入数字的代码如下:

<span style="font-size:18px;">        /// <summary>        /// 只能输入退格键、回车键、小数点和数字,而且小数点只能有1位,且不能在开头输入        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void txtControl_KeyPress(object sender, KeyPressEventArgs e)        {            //只能输入退格键、回车键、小数点和数字            if (e.KeyChar != (char)8 && e.KeyChar != (char)13 && e.KeyChar != (char)46 && !(char.IsNumber(e.KeyChar)))            {                e.Handled = true;                MessageBox.Show("请输入数字和小数点", "友情提示");                txtControl.Focus();                return;            }            //<span style="color:#ff0000;">小数点不能在开头</span>            if (e.KeyChar == (char)46 && txtControl.Text.Length == 0)            {                e.Handled = true;                MessageBox.Show("请先输入数字", "友情提示");                return;            }            /<span style="color:#ff0000;">/只能输入一个小数点</span>            int a = 0; //计算小数点的个数的变量            a = txtControl.Text.ToString().Trim().Split('.').Length;            if (e.KeyChar == (char)46 && a > 1)            {                e.Handled = true;                MessageBox.Show("注意只能输入一个小数点", "友情提示");                return;            }        }</span>

     三、生成;(生成项目的bin,debug下面的dll文件即是你自定义的控件)

     四、在需要的项目中——选择“工具箱”——右击任意控件——点击“选择项”——点击“浏览”——添加“工程项目.dll”,即可在工具箱中看见自定义的控件。

右击任意控件


“选择项”如下图

点击“ 浏览”后,选择dll文件

即可在工具箱中找到自定义的控件

效果图

        机房重构中,我都是一个个文本框改属性的,限制位数,只能输入数字等,当时,也感觉很麻烦,但认为没有解决办法,乖乖的就那么做了。验收时,我听见师傅提到了自定义控件,感觉神秘,纳闷是什么东西。现在,学习了自定义控件以后,对“不怕不知道,就怕不知道”再次有了体会。很多东西不是因为他难,而是我们压根不知道他的存在。

        当我们在做重复工作时,当我们做的事情比较麻烦时,想想有没有什么办法可以解决,大胆上网搜。因为你不是第一个做这项工作的人,你要相信前人的智慧,他们会给出很不错的办法的。在不知道是否有简单方法时,我们需要先按照旧方法进行着项目。在课下或学习累时,可以上网随意看看,很可能就有新发现。


0 0