5文字後に切り替える

私はカードをスワイプしようとしています.5文字を入力した後、次のテキストフィールドに移動します。私はカードをスキャンしています。

現在私は持っている:

private void membernumber1_TextChanged(object sender, EventArgs e)
    {
    }

しかし、これは1文字を入力した直後に変更されますが、5文字を入力した後に切り替えられるようになっていますか?

1
それはC#で行う必要がありますか?
追加された 著者 Abe Miessler,
それは悪いデザインです。 1つの大きなテキストボックスを使用すると多くの場合使いやすくなります。
追加された 著者 SLaks,
Errr ...これまで入力されたテキストの長さを確認しますか?
追加された 著者 Mark Byers,

1 答え

Text プロパティの文字数を数えるだけです。バックスペースキーを使用すると、カウンターを使用することはできません。

if( membernumber1.Text.Length == 5 )
    SwitchFocus();

Be aware though that this may not work for text that was pasted into the control (i.e., if it was > 5 characters). You'll need proper validation for that case or you can just disable pasting, but validation is preferable as there are certainly other restrictions like being all numeric.

5
追加された