-2

我想问是否有人知道如何限制文本框允许的期限。我正在使用 C# Visual Studio 2010。

我的问题是我需要找到验证代码,以确保用户的文本框中间首字母只允许一个句点。如果用户键入另一个句点,则该句点将不会显示在文本框中。不需要错误消息。示例是仅接受字母的验证码。这是我的这个例子的代码:

private void txtFirstName_KeyPress(object sender, KeyPressEventArgs e)
        {
            byte num = Convert.ToByte(e.KeyChar);

        if ((num >= 65 && num <= 90) || (num >= 97 && num <= 122) || (num == 8) || (num == 32))
        {

        }

        else if (num == 13)
        {
            e.Handled = true;
            SendKeys.Send("{Tab}");
        }
        else
        {
            e.Handled = true;
        }

    }

我的 txtboxMI 目前有以下代码:

private void txtMI_KeyPress(object sender, KeyPressEventArgs e)
{
    byte num = Convert.ToByte(e.KeyChar);

    if ((num >= 65 && num <= 90) || (num >= 97 && num <= 122) || (num == 8) || (num == 32))
    {

    }
    else if (num == 13)
    {
        e.Handled = true;
        SendKeys.Send("{Tab}");
    }
    else
    {
        e.Handled = true;
    }
}
4

2 回答 2

0

您必须将其设置为服务器端吗?

您可以使用正则表达式验证器

[a-zA-Z_-.] 应该给你你想要的。

于 2012-12-03T08:15:44.120 回答
0

尝试这个:

var txt = (TextBox)sender;
if ((e.KeyChar >= 'A' && e.KeyChar <= 'Z') || (e.KeyChar >= 'a' && e.KeyChar <= 'z') || e.KeyChar == 8 || e.KeyChar == 32) {
} else if (txt.Text.Contains('.') && e.KeyChar == '.') {
    e.Handled = true;
} else if (e.KeyChar == '\t') {
    e.Handled = true;
    SendKeys.Send("{Tab}");
}
于 2012-12-03T08:41:05.063 回答