入力が終わらないとボタンを出せないようにするには?


MJ  2010-11-23 11:56:52  No: 102719  IP: [192.*.*.*]

初めまして。

6.0を使っています。

オプションボタンとテキストボックスを配置したフレームがあります。

オプションボタンとテキストボックスへの入力が全部終わらないと次へ進むボタンが現れないようなプログラムを作りたいのですが、調べても分かりませんでした。
(入力が全て終わったら次へ進むボタンが現れる様にしたいです。)


ご教示いただければと思います。
宜しくお願いします。

編集 削除
魔界の仮面弁士  2010-11-24 09:56:59  No: 102720  IP: [192.*.*.*]

> 入力が全部終わらないと次へ進むボタンが現れないようなプログラム
ボタンの表示を切り替える方法は分かりますよね。Visible プロパティです。
今回のケースでは、Enabled プロパティの方が適切かもしれませんが。


> 調べても分かりませんでした。
一文字でも入力があれば入力されていると判断するので良ければ、イベントを使って
判断できるかと思います。たとえば、Text1_Change とか Option1_Click とか。
内容によっては、LostFocus や Validate イベントも使えるでしょう。
(KeyPress イベントや KeyDown/KeyUp 等での判定は、避けた方が無難です)

ただしこうした処理では、ユーザー操作だけではなく、プログラムからの入力にも反応します。
プログラムからの操作ではなく、ユーザーが入力したかどうかのみを調べたい場合には、
フラグ変数などで処理するとか、Text1.DataChanged プロパティを併用するなどの工夫が必要です。


また、入力があったか否かではなく、入力が完了したかどうかを判断したいのであれば、
何をもってして入力完了と定義するのか、そのアプリの仕様を明確にする必要があるでしょう。

たとえば10桁のプロダクトキー入力欄なら、10文字入力した時点で完了と見做せますが、
住所欄やメールアドレス入力欄だとすれば、何をもって終了と見做すかは定義しきれきませんよね。

編集 削除