将ParseExact与Windows窗体文本框一起使用

时间:2011-06-20 16:52:33

标签: c# .net winforms validation parsing

我目前正在尝试验证文本框,因此只能使用TryParseExact输入字母(a-Z)。

我有一个代码来检查时间,虽然有人可以证明如何只用字母来完成。

我的代码如下:

private void textBox2_Validating(object sender, CancelEventArgs e)
{
    DateTime dateEntered;

    if (DateTime.TryParseExact(textBox2.Text, "HH:mm", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None, out dateEntered))
    {

    }
    else
    {
        MessageBox.Show("You need to enter valid 24 hour time");
    }
}

2 个答案:

答案 0 :(得分:3)

检查字符串s中的所有字符是否都是字母:

bool result = s.All(ch => char.IsLetter(ch));

另请参阅:Char.IsLetter Method (MSDN)

如果您只想接受ASCII字母(即a-z和A-Z):

bool result = s.All(ch => (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'));

答案 1 :(得分:0)

您不应该使用任何try-parse方法,因为检查字符串是否只包含a-Z字符与解析日期或数字不同。

我认为您可以使用正则表达式来验证输入。