0

この質問が出されることは知っていますが、コードに別の問題があります。

(e.Key >= Windows.System.VirtualKey.Number0) && 
(e.Key <= Windows.System.VirtualKey.Number9)

動作しますが、入力Shift+6すると&、Shiftキーを押してもコードは動作しませんが、6を押すと動作し、として入力し&ます。

これを無効にするにはどうすればよいですか?前のキーを保持するグローバル変数を考えています。シフトの場合は入力しないでください。また、シフトを保持する場合は、数字キーと同時にShiftキーを押すか、数字キーの前にShiftキーを押します。

4

4 に答える 4

0

ユーザーが有効な値を貼り付けることもできるため、正規表現を使用してユーザーが数値を入力したかどうかを確認することをお勧めします。

複数の数字に一致させる必要がある場合は、「^\d+$」を使用します。

"\d" は、[0-9] やその他のアラビア数字の ٠١٢٣٤٥٦٧٨٩ などの数字に一致することに注意してください。"^[0-9]+$" を使用して、一致をアラビア数字の 0 ~ 9 のみに制限します。

テキストボックスからの有効な値をプライベートメンバーに保持することを確認する必要があり、テキストボックスの値が変更されるたびに、値が有効かどうか、有効な場合はプライベートメンバー= textbox.value、そうでない場合はtextbox.value =プライベートメンバーを確認する必要があります。ユーザーが無効な値を入力できない場合

于 2013-02-04T09:37:22.690 に答える