文本框仅适用于窗口应用程序中的整数

时间:2014-01-05 03:12:10

标签: c# windows winforms textbox

我有一个Windows应用程序,其中有一个登录表单和注册表单。 在注册表格中有4个textbox es,其中一个用于获取用户联系号码(手机号码),其中只允许使用号码。 我希望该用户只能输入integer号而不是char,就像asp应用程序一样,使用ajax textfilter我们限制用户只输入整数。

是否存在此类功能,以便Windows应用程序可以限制用户?

1 个答案:

答案 0 :(得分:0)

1)您可以处理TextChanged的{​​{1}}事件,并确保TextBox中没有显示除数字(0-9)以外的任何键。
您可以使用TextBox检查文本是否包含字母。

另一种选择是在处理文本之前验证文本输入,如果它包含数字以外的字符,则向用户发出警告并允许他更改Regex的文本。

TextBox

WORKING: - 每次文本更改时,它会检查添加的最后一个字符,如果它不是数字,则不会显示它 例如,如果在输入971之后我输入r,则 private void Text_Changed(object sender, EventArgs e ) { if(!char.isDigit(textBox1.Text[textBox1.Text.Length-1])) { string temp = string.SubString(textBox1.Text, 0, textBox1.Text.Length-1) ; textBox1.Text = temp ; } } 条件变为真,if Text字段将文本重置为971并且不显示“r”。

2)否则,您可以使用TextBox enter image description here 将maskedTextBox的masked属性更改为Digits,如下所示: - enter image description here

检查以下链接:
http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox(v=vs.110).aspx
http://www.codeproject.com/Tips/666932/Using-Masked-TextBox-in-NET
http://www.codeproject.com/Articles/1534/Masked-C-TextBox-Control

3)选项-3: - 您可以在从MaskedTextBox类派生后创建自定义控件。
http://msdn.microsoft.com/en-us/library/ms229644(v=vs.90).aspx