[解決済み] 数字しか入力できないテキストボックスの作り方を教えてください。
2022-03-15 03:21:10
質問
Windowsフォームアプリで、整数値しか受け付けないテキストボックス・コントロールがあります。過去には、KeyPressイベントをオーバーロードして、仕様に合わない文字を削除することで、この種の検証を行ったことがあります。MaskedTextBoxコントロールを見ましたが、おそらく正規表現で動作する、または他のコントロールの値に依存する、より一般的なソリューションを希望しています。
理想的には、数字以外の文字を押しても結果が出ないか、無効な文字に関するフィードバックをすぐにユーザーに提供するような動作が望ましいです。
解決方法は?
2つの選択肢があります。
-
を使用します。
NumericUpDown
の代わりに NumericUpDownはフィルタリングをやってくれるのがいいところです。もちろん、キーボードの上下の矢印を押して、現在の値を増やしたり減らしたりすることもできる。 -
適切なキーボードイベントを処理し、数字以外の入力ができないようにします。私は、標準的なテキストボックスで、この2つのイベントハンドラを使用して成功したことがあります。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.')) { e.Handled = true; } // only allow one decimal point if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1)) { e.Handled = true; } }
のチェックを外すことができます。
'.'
(そして、それに続く複数の
'.'
のように、小数点以下の桁数を許容しないテキストボックスの場合。に対するチェックを追加することもできます。
'-'
は、テキストボックスが負の値を許可する必要がある場合
桁数を制限したい場合は、以下のようにします。
textBox1.MaxLength = 2; // this will allow the user to enter only 2 digits
関連
-
[解決済み】C#で四捨五入する方法
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み] WPFでテキストボックスが数値入力しか受け付けないようにするにはどうしたらいいですか?
-
[解決済み] HTTP POST Web リクエストの作成方法
-
[解決済み] 数字のみの正規表現
-
[解決済み】システムトレイでのみ動作する.NET Windows Formsアプリケーションを作成するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】Nullableオブジェクトは値を持たなければならない?