一つ前のフォーカスがあったコントロールの取得をするには?


赤ペン  2002-06-18 23:01:05  No: 75755

現在の一つ前にフォーカスがあったコントロール(AccessでいうとPreviousControlプロパティ)
を取得するにはどうしたらよいでしょうか?


蜻蛉  2002-06-19 02:15:20  No: 75756

>フォーカスがあったコントロール
とは、ボタンなどの通常のWindowsフォームコントロールを
表しているのでしょうか?
それともまた違ったものなのですか?


Say  2002-06-19 03:45:35  No: 75757

LostFocusのときに、保持しておくとか・・・。


蜻蛉  URL  2002-06-19 07:00:20  No: 75758

普通のWindowsフォームコントロールならSayさんの言うとおり
LostFocusのときにコントロールのTagプロパティに設定しておけばいいでしょう。


赤ペン  2002-06-19 23:37:30  No: 75759

Sayさん、蜻蛉さん、どうもご回答ありがとうございます。

通常のWindowsフォームコントロールだと思います。
テキストボックスやコンボボックス等のコントロールを対象にしています。

LostFocusの時に書くとしたら、全ての入力可能なコントロールのイベントに書くことになりますよね。
#結構入力コントロールが多かったりします
やはりそれしかないでしょうか?

そのやり方を取り入れるとすれば、
モジュール変数等を使うより、特定コントロールのTagプロパティを使用した方がよいものでしょうか?


うち  2002-06-19 23:50:50  No: 75760

コントロール配列に変更できるのであれば、それが一番です。
この場合なら、Tagプロパティを使用するのもいいでしょうが、
自分がやるのであればモジュールの変数に記録します。

Tagプロパティを使うと、全部のコントロールのTagプロパティ
を検索する羽目になるのでコントロール数によっては手間だし、
遅くなります。
それより、各コントロールに番号(文字でも可)を設定して、
その番号をLostForcus時に変数に記憶させたほうが良いかと
おもいます。
その番号(名前)のつけ方でどのフォームのどんなコントロール
からとかと発展させることも可能です。


赤ペン  2002-06-21 01:25:55  No: 75761

うちさん、ご回答ありがとうございます。

事情があって、コントロール配列にはできないんです。
やはりLostFocusを使う方法しか無さそうですね。
使用可能なコントロールの数が多いので、
なるべくならば避けたい方法でしたが、しょうがないようですね。

Tagではなく、変数を使用した方が良さそうですね。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加