2012-04-08 9 views
0

テキストボックスにアルファベット以外の文字があるかどうかを誰にも確認できますか?Windows Phone TextBoxの有効化

テキストボックスに任意の記号や数字などがある場合は - 私がやりたい:

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

すべてのヘルプは高く評価されています。

+0

RegularExpressionsを見てください:http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.95).aspx –

+0

キーボードでのみ許可するように設定できますか手紙? –

答えて

1

テキストボックスのKeyPressイベントでは、文字が文字かどうかを確認し、キーが押されていない場合はキャンセルすることができます。これはテストされていませんが、うまくいくはずです。文字は、それがある場合は、そうでない場合は(truee.Handledプロパティを設定することで)キーの押下を解除、キーの押下がOSに通過できるようにする、手紙で、場合

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

基本的に、あなたがテストしています。

ユーザーはアルファベット以外の文字を含むテキストを貼り付けることでこれを回避できるため、セキュリティよりもユーザーエクスペリエンスが優れています。ユーザーが送信ボタンをクリックした後に検証を実行するには、文字列を反復してアルファベット以外の文字があるかどうかを判断できます。あなたの提出イベントでは、次のようなものがあります:

for(int i = 0; i < YourTextbox.Text.Length; i++) 
{ 
    if(!char.IsLetter(YourTextbox.Text[i]) 
    { 
     MessageBox.Show("Please enter only letters"); 
     break; 
    } 
} 

Char.IsLetter method on MSDN

+0

TextChangedを処理して、コピー貼り付けを識別することもできます。 –

関連する問題