在许多场合中,我们需要对输入文本框的内容进行限制,以避免垃圾信息和非法信息的录入。但是很多教科书中所列举的方法,或多或少都存在一些缺陷,或者不能阻止输入中文,或者不能有效屏蔽剪贴板中的中文内容。今天介绍一个方法,让文本框只能输入数字(0-9),可以阻止非法的粘贴和中文输入。
这里要处理TextChanged事件,阻止文本框接受非数字的内容:
88 public void MyBox_TextChanged(object sender, System.EventArgs e)
89 ...{
90 string txt = MyBox.Text;
91 int i = txt.Length;
92 if( i < 1) return;
93 for(int m = 0; m < i; m ++)
94 ...{
95 string str = txt.Substring(m, 1);
96 if( !char.IsNumber( Convert.ToChar(str) ))
97 ...{
98 MyBox.Text = MyBox.Text.Replace(str, ""); //将非数字文本过滤掉
99 MyBox.SelectionStart = MyBox.Text.Length;//将光标定位到最后一位
100 }
101 }
102 }