- - PR -
VB6.0のTextboxの入力数値の判別方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-11-25 16:42
はじめまして,初めて質問させていただきますのでよろしくお願いします。
やりたいことは、Textbox内に15〜60までのどれかを入力し、入力し終わったと同時にある処理を走らせます。そして指定範囲以外の数値のときはmsgboxを表示するようにしたいのです。 しかし、いろいろ作ったのですが、例えば15を入力するとき、まず1を入れるとmsgboxが表示され、つぎに5を入れると15の値を使った処理が走ってしまいます。 何かよい方法はありますでしょうか? |
|
投稿日時: 2003-11-25 17:32
いくつか方法はあると思いますが、
数字を入力後、Enterキーを押したら、 判定処理を行うようにしては如何でしょうか? では、具体的方法ですが、 目的とするテキストボックスの「_KeyDown」メソッド内に、 以下のようにコードを書きます。 If keyCode = 13 then 'ここに実際に行いたい処理を書く end If この13というのが、Enterキーのコードです。 目的のテキストボックス内で、Enterキーを押すと、 keyCode(_KeyDownメソッドのデフォルトの引数です)に13がセットされます。 こうする事によって、他のキーが押された時は、反応せず、 正しい判定が出来ます。 参考になりましたでしょうか? |
|
投稿日時: 2003-11-26 11:28
デフォルトのイベントに
ロストフォーカスイベントがあります。 テキストボックスからフォーカスが外れた時に検査してはいかがでしょうか。 キープレスイベントでリターンを設定している場合は、更にそこから、 ロストフォーカスイベントプロシージャを呼び出してやれば良いと思います。 参考になりましたでしょうか? |
|
投稿日時: 2003-11-26 11:54
さじまさん
単なる思い付きですが... 入力されている数値が範囲内なら即処理し、 入力されている数値が範囲外なら一定時間待ってから処理するというのはどうでしょうか? |
|
投稿日時: 2003-11-26 12:23
環境が無いので定かでは有りませんが 記憶では Validateイベントを使用して入力値のチェックを行うのが VB6.0では一般的だったような気がします (ValidateイベントはCausesValidation プロパティが真(True)に設定されている(第2の)コントロールにフォーカスが移動する前に発生します) 1、イベント発生時に数値であるかのチェック 2、数値であれば、範囲のチェック 如何でしょうか? |
1