
テキストボックスによる数値入力の制限で困っています。
LEDの点灯とモーターの動作のチェックプログラムを作り
完成したのですが、いろいろとネットで調べ
下記のプログラムでテキストボックスの数値入力を作成したのですが、
作成プログラム
Dim bKeyNum As Boolean = Char.IsDigit(e.KeyChar)
If bKeyNum <> True Then
e.Handled = True
End If
この方法ではBack Spaceキーが効かないため上司から使いづらいので
キーが効くようにしてほしいと要望があり、
もう一度探しましたが、どれも記述どおりにやっても
うまく動きません。
何か私に分かりやすく説明をしてくれて簡単に数値入力と
Back Spaceキーが使えるプログラムを教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
BackSpaceが動いたら、今度は左右キーやDeleteキーも・・・という要求が出そうですね。
なので、下記のように 数字とコントロール文字以外は Handled = True となる式を作ればよいと思います。
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
e.Handled = Not (Char.IsDigit(e.KeyChar) OrElse Char.IsControl(e.KeyChar))
End Sub
ありがとうございました。
解決ができました。
これで上司に文句を言われづにすみそうです。
なるほど、Char.IsContorolというのがBack Space等の
コントロールキーに対するメソッドになるわけですね。
これから行くと英文字やカタカナ、漢字等のメソッドも
あるのでしょうか。
No.2
- 回答日時:
Char構造体のSharedメソッドにおけるIs***メソッドは特定の文字の種類を判別するメソッドです。
これ以外の文字については、GetUnicodeCategoryで文字コードのカテゴリを取得できます。それ以外の文字は、文字コードから判断します。
詳しくはMSDNに丸投げ。
あとついでに気づいたことを。
現状だとペーストは可能だと思います。
.NET 2.0以降であればTextboxのShortcutsEnabledをFalseにすることでショートカットによる操作とコンテキストメニュー(右クリックメニュー)を無効にします。
ショートカットキーについてもありがとうございました。
確かにFalseにするのを忘れていました。
さっそく直しておきました。
MSDNでGetUnicodeCategoryを詳しく調べてみます。
Wizard_Zeroさん、
いろいろとご教授ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0歳児の指しゃぶりに関して
-
javascriptからjavaを呼び出したい
-
エクセルVBAで、条件に一致する...
-
エクセルVBAで、ユーザーフォー...
-
【sendkeysメソッドが動かずに...
-
ASP.Net ObjectDataSource4
-
javaで最前面表示はできますか?
-
JavaScriptでExcelのオートフィ...
-
エクセルのマクロでプリンタを...
-
FEM解析の読み方は?
-
vbaエクセルマクロ RemoveDupli...
-
Application.Wait の参照設定
-
エクセルVBAのInputBoxメソ...
-
JSPのメソッドサイズ制限について
-
ポストバック時のDatasourceバ...
-
VBA,ASPなどから呼び出せるDLL...
-
Labelコントロールに数字を代入...
-
中学のクラス数
-
「タイプ初期化子が例外をスロ...
-
インスタンス参照でアクセスで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0歳児の指しゃぶりに関して
-
エクセルVBAで、条件に一致する...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
コマンドプロンプト実行後に画...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
ウィンドウを最前面にできません
-
配列のメソッド
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
メソッドをstaticにする、しな...
-
execute()
-
java 次の機能を有するメソッド...
-
PDFファイルから別ウィンドウで...
-
CALLされていないメソッドを見...
-
Excel : OpenTextメソッドが正...
-
C#で右からnカラム目に文字を挿...
-
eclipse-Tomcatでのデバッグに...
おすすめ情報