Windows Phone TextBox验证

时间:2012-04-08 16:44:56

标签: windows-phone-7 textbox

有谁知道如何检查文本框中是否有任何非字母字符?

如果文本框中有任何符号或数字等 - 我想做一个:

MessageBox.Show("Please enter only letters");

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

在文本框的KeyPress事件中,您可以检查字符是否为字母,如果不是则取消按键。这是未经测试的,但应该有效。

private void YourTextbox_KeyPress(Object sender, KeyPressEventArgs e)
{
    if(!char.IsLetter(e.KeyChar))
    {
        e.Handled = true;
        MessageBox.Show("Please enter only letters");
    }
}

基本上你正在测试角色是否是一个字母,如果是,则允许按键进入操作系统,否则取消按键(通过将e.Handled属性设置为{{1} })。

现在,用户可以通过粘贴包含非字母字符的文本来绕过这一点,因此它比安全性更能提供更好的用户体验。要在用户单击提交按钮后执行验证,您可以使用字符串迭代来确定是否存在任何非字母字符。因此,在您的提交活动中,您可以拥有以下内容:

true

Char.IsLetter method on MSDN

相关问题