日期:2011-05-21  浏览次数:20540 次

 在许多场合中,我们需要对输入文本框的内容进行限制,以避免垃圾信息和非法信息的录入。但是很多教科书中所列举的方法,或多或少都存在一些缺陷,或者不能阻止输入中文,或者不能有效屏蔽剪贴板中的中文内容。今天介绍一个方法,让文本框只能输入数字(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        }