- - PR -
コンボボックスで数値入力のみに入力文字制限するには
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-18 21:38
いつもお世話になっております。
コンボボックスで0〜9以外の文字を入力不可にする方法を調べているのですが分かりません。 TextboxなどではKeyPressイベント If (e.KeyChar < "0"c Or e.KeyChar > "9"c) And e.KeyChar <> vbBack Then e.Handled = True End If のようにしてやれば簡単に実現出来るようですが、コンボボックスでは同じようにやっても 実現出来ませんでした。 この事に関連した情報をご存知の方おられましたらアドバイスを頂きたいと思います。 よろしくお願いします。 | ||||||||
|
投稿日時: 2003-12-18 23:34
こんにちわ。諸農です。
とても安直な方法ですが(^^; ErrorProviderとTextChangeイベントで次の様にしてみてはいかがでしょうか。
ではでは(^^)/ _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||
|
投稿日時: 2003-12-19 00:04
Validatingイベントで入力を検証する、というのはどうでしょう?
Private Sub ???_Validating(Sender As Object, args As CancelEventArgs) _ Handles ????.Validating args.Cancel = System.Text.RegularExpressions.Regex.IsMatch(文字列 _ , "[^0-9]*") End Sub こんな感じかな?? 問題は、フォーカスが移動しようとすると発生すること。「キャンセル」ボタンなどはCausesValidationプロパティをFalseにして、発生しないようにする。 ところが、システムメニュー(ウインドウの右上の3つのボタン)は、バリデータを無効にできないんですねぇ、困ったことに。。。 | ||||||||
|
投稿日時: 2003-12-19 10:02
Jubeiさん、Jittaさん、ご回答ありがとうございます。
お二人に教えて頂いた方法を試しつつ検討してみようと思います。 ありがとうございました。 |
1