【发布时间】:2013-03-19 19:16:54
【问题描述】:
我已将文本框设置为只能输入字母,我想知道如何在输入字母以外的任何内容时显示错误消息。以下是我的代码:
private void FirstName_KeyPress_1(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < 65 || e.KeyChar > 122)
{
e.Handled = true;
}
}
private void FirstName_TextChanged_1(object sender, EventArgs e)
{
FirstName.KeyPress += new KeyPressEventHandler(FirstName_KeyPress_1);
}
我也试过了
if (e.KeyChar < 65 || e.KeyChar > 122)
{
e.Handled = true;
}
else
{
MessageBox.Show (" Please enter a letter",
"Error Message");
}
但是一旦在数字后面输入一个字母就会出现此消息,并且在单击“确定”时不会出现此消息。它出现大约 4 次,直到消失。
谁能帮我解决这个问题?
谢谢
【问题讨论】:
-
使用 MaskedTextBox。或者至少不要在每次更改时分配事件处理程序,而是一次,例如在表单的 Load 事件中。
-
这是winforms,还是控制台应用,还是asp.net,还是什么?
-
@Melanie 它是 asp.net
-
您尝试过 CustomValidator 吗?在用户移过文本框之前它不会引发错误,因此这可能不是您想要的。
-
@Melanie 我真的不知道如何使用它,因为我是 .net 的新手。