2

こんにちは、次のマスク文字列を使用して、ユーザーが有効な電話番号を入力できるようにしています

(99)-00000000

これは、オーストラリアの携帯電話および地域の固定電話番号で正常に機能するはずです

ただし、ユーザーがすべての数字を入力せずに逃げることができるという問題が発生しました

9 は 0 から 9 の間の任意の数字を表し、0 は 0 から 9 の間の必須の数字を表すことを理解しています

では、最後の 8 桁の必須数字をすべて入力しないと、プログラムは次のような結果を表示します。

(03)-6474

(03)- 63799

(02)-1 38 390

4

1 に答える 1

3

入力時に左から右に空白を埋めるだけだからです。最初の 2 桁はオプションですが、最初の 2 桁の数字を入力したかのように入力されます。

この動作が気に入らない場合は、MaskedTextBoxコントロールを簡単にサブクラス化し、キーボード入力の処理方法をカスタマイズできます。予想どおり、数値が右から左に押し込まれるサンプル コントロールを次に示します。

(2 番目の例は、ベース コントロールに加えられた変更を正確に説明するのに適していると思います。さらに、サンプル プロジェクトをダウンロードしなくても、関連するコードのほとんどを確認できます。)

于 2010-11-17T12:14:40.527 に答える