.NETでGotFocusイベントが見つかりません。"G"で始まるイベントはGetFeedBackしかありません。ソリューションエクスプローラの参照設定でSystem.Windows.Formsのメンバを確認してもやっぱりGetFeedBackしかありません。なぜでしょうか?セットアップの方法が悪かったのでしょうか?どなたかご教授願えないでしょうか?
※ちなみにツールとしてGrapcityのInputManを使用しています。それが何か関係するのでしょうか?InputManのヘルプにはGotFocusはSystem.Windows.Forms.controlを継承すると記述がありましたが、この私の環境ではSystem.Windows.Formsの中にはSystem.Windows.Forms.controlは存在していませんでした。
※やりたいこと自体は"コントロールがフォーカスを取得した際に処理を組み込みたい"といったことです。GotFocusイベントに変わるものがあるのでしょうか?
普通は Enter イベントを使いますから。
GotFocus は低水準イベントですから。
> この私の環境ではSystem.Windows.Formsの中には
> System.Windows.Forms.controlは存在していませんでした。
「存在していない」と判断した際に、どう調査したかを書いていただけると
追証しやすく、回答がつきやすくなるかもしれません。
とりあえず私の環境(VB.NET2003/Ver7.1.3091)ではオブジェクトブラウザの
[System.Windows.Forms]-[Control]のメンバにありましたが、
そこは確認しましたか?
メンバ側で右クリックして[非表示のメンバ]にチェックをつけると、
GotFocusイベントがグレーで表示されるようになります。
で、
も読んでいただいて、
(「一般的に、 GotFocus イベントおよび LostFocus イベントは、 UICues を更新するときにだけ使用されます。」のあたりとか)
VB→VB.NETでのセオリーの違いを把握しておくと乗換えが楽になるかもしれません。
丸暗記でいいなら、[旧VB:GotFocus/LostFocus]→[VB.NET:Enter/Leave]で
理解しておけばとりあえずおっけーかと。
じゃんぬねっと様、さるべーじ様、大変ありがとうございました。これからEnterイベントでうまくいきました。
また[System.Windows.Forms]-[Control]に灰色で表示もされていました(それをどう使うかはこれから試してみます)。
※それにしてもこの掲示板には恐れ入ります。返答される方の知識の深さもですが、何よりすさまじいほどの回答の早さには特に驚愕です。
ツイート | ![]() |