現在の一つ前にフォーカスがあったコントロール(AccessでいうとPreviousControlプロパティ)
を取得するにはどうしたらよいでしょうか?
>フォーカスがあったコントロール
とは、ボタンなどの通常のWindowsフォームコントロールを
表しているのでしょうか?
それともまた違ったものなのですか?
LostFocusのときに、保持しておくとか・・・。
普通のWindowsフォームコントロールならSayさんの言うとおり
LostFocusのときにコントロールのTagプロパティに設定しておけばいいでしょう。
Sayさん、蜻蛉さん、どうもご回答ありがとうございます。
通常のWindowsフォームコントロールだと思います。
テキストボックスやコンボボックス等のコントロールを対象にしています。
LostFocusの時に書くとしたら、全ての入力可能なコントロールのイベントに書くことになりますよね。
#結構入力コントロールが多かったりします
やはりそれしかないでしょうか?
そのやり方を取り入れるとすれば、
モジュール変数等を使うより、特定コントロールのTagプロパティを使用した方がよいものでしょうか?
コントロール配列に変更できるのであれば、それが一番です。
この場合なら、Tagプロパティを使用するのもいいでしょうが、
自分がやるのであればモジュールの変数に記録します。
Tagプロパティを使うと、全部のコントロールのTagプロパティ
を検索する羽目になるのでコントロール数によっては手間だし、
遅くなります。
それより、各コントロールに番号(文字でも可)を設定して、
その番号をLostForcus時に変数に記憶させたほうが良いかと
おもいます。
その番号(名前)のつけ方でどのフォームのどんなコントロール
からとかと発展させることも可能です。
うちさん、ご回答ありがとうございます。
事情があって、コントロール配列にはできないんです。
やはりLostFocusを使う方法しか無さそうですね。
使用可能なコントロールの数が多いので、
なるべくならば避けたい方法でしたが、しょうがないようですね。
Tagではなく、変数を使用した方が良さそうですね。
ツイート | ![]() |