vam*_*shi 10 c# textbox .net-3.5
我使用的是C#.NET 3.5,我的项目有问题.在C#Windows应用程序中,我想使a textbox只接受数字.如果用户尝试输入字符,则消息应显示为"请仅输入数字",而在另一个文本框中,它必须接受有效email id消息,如果无效则应显示.它必须显示无效的用户ID.
Dan*_*rth 13
我建议你使用MaskedTextBox:http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.aspx
从C#3.5我假设你正在使用WPF.
只需从整数属性到文本框进行双向数据绑定.WPF将自动显示验证错误.
对于电子邮件案例,从在setter中执行Regexp验证的字符串属性进行双向数据绑定,并在验证错误时抛出异常.
在MSDN上查找绑定.
使用此代码:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
const char Delete = (char)8;
e.Handled = !Char.IsDigit(e.KeyChar) && e.KeyChar != Delete;
}
Run Code Online (Sandbox Code Playgroud)
您可能想尝试int.TryParse(string, out int)在KeyPress(object, KeyPressEventArgs)事件中检查数值。对于其他问题,您可以使用正则表达式。