0

TextBox一度に1 文字だけを受け入れるコントロールを作成する必要があります。たとえば、「aaa」と入力すると、「a」のみが受け入れられます。

どうすればこれを達成できますか?

4

2 に答える 2

2

TextBox にはMaxLengthプロパティがあります。MaxLengthテキスト ボックスに手動で入力できる最大文字数を取得または設定します。

 <TextBox MaxLength="1" Width="120" Height="23" />

ここでは、手動で 1 文字しか入力できません。

于 2013-04-21T18:42:22.287 に答える
1

私の理解が正しければ、ユーザーが同じキーを連続して複数回入力できないようにする必要があります。これにより、次のことが防止されます。

 private void textBox_KeyDown(object sender, KeyEventArgs e)
 {
     TextBox textBox = sender as TextBox;
     if(textBox != null)
     {
         if (!String.IsNullOrEmpty(textBox.Text))
         {
             //get the last character and convert it to a key
             char prevChar = textBox.Text[textBox.Text.Length - 1];
             Keys k = (Keys)char.ToUpper(prevChar);

             //compare the Key pressed to the previous Key
             if (e.KeyData == k)
             {
                 //suppress the keypress if the key is the same as the previous one
                 e.SuppressKeyPress = true;              
             }
         }
     }
 }
于 2013-04-21T18:49:57.160 に答える