我有一个Windows应用程序,其中有一个登录表单和注册表单。
在注册表格中有4个textbox
es,其中一个用于获取用户联系号码(手机号码),其中只允许使用号码。
我希望该用户只能输入integer
号而不是char
,就像asp
应用程序一样,使用ajax
textfilter我们限制用户只输入整数。
是否存在此类功能,以便Windows应用程序可以限制用户?
答案 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
将maskedTextBox的masked属性更改为Digits,如下所示: -
检查以下链接:
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