2011-06-20 12 views
1

現在、TryParseExactを使用して、テキストボックスを検証して文字(a-Z)のみを入力しようとしています。TryParseExactをWindowsFormsで使用するTextbox

私は時間をチェックするコードを持っていますが、誰かがこれがどのように文字でしかできないかを実証することができます。次のように

私のコードは次のとおりです。

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"); 
    } 
} 
+0

「文字のみ」とはどういう意味ですか?番号なし?スペースや句読点はありませんか? –

+0

@ agent-j Thats correct – Dan

答えて

3

これをチェックした文字列sのすべての文字が文字であれば:

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

も参照してください:Char.IsLetter Method (MSDN)

あなたが受け入れる場合ASCII文字(az、AZ):

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

これを現在の方法にどのように実装できますか? – Dan

+0

@ダン:ブール式と 'if'を組み合わせる方法を尋ねていますか? – dtb

+0

@Dan:[if-else(C#リファレンス)](http://msdn.microsoft.com/en-us/library/5011f09h.aspx) – dtb

0

文字列に-Z文字のみが含まれているかどうかを確認することは、日付または数値の解析と同じではないため、試行構文解析メソッドを使用しないでください。

正規表現を使用して入力を検証できると思います。

関連する問題