概述
在程序中,我们经常会用到限制条件一样的控件,如只能输入数字,那么,我们需要每次都限定一下,在机房中,大家应该可以体会到做了很多重复的工作,那么有没有办法可以减少这种重复工作呢?答案当然是有,有两种方法可以解决一种是定义一个类,继承即可;另一种是自定义控件。下面我介绍一下如何自定义控件。
自定义控件的步骤:
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”,即可在工具箱中看见自定义的控件。
右击任意控件
机房重构中,我都是一个个文本框改属性的,限制位数,只能输入数字等,当时,也感觉很麻烦,但认为没有解决办法,乖乖的就那么做了。验收时,我听见师傅提到了自定义控件,感觉神秘,纳闷是什么东西。现在,学习了自定义控件以后,对“不怕不知道,就怕不知道”再次有了体会。很多东西不是因为他难,而是我们压根不知道他的存在。
当我们在做重复工作时,当我们做的事情比较麻烦时,想想有没有什么办法可以解决,大胆上网搜。因为你不是第一个做这项工作的人,你要相信前人的智慧,他们会给出很不错的办法的。在不知道是否有简单方法时,我们需要先按照旧方法进行着项目。在课下或学习累时,可以上网随意看看,很可能就有新发现。
最后
以上就是清新故事为你收集整理的自定义控件——只能输入数字的文本框的全部内容,希望文章能够帮你解决自定义控件——只能输入数字的文本框所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复