.NETでGotFocusイベントが見つかりません

解決


ドットネット初心者  2005-04-02 17:07:37  No: 89186

.NETでGotFocusイベントが見つかりません。"G"で始まるイベントはGetFeedBackしかありません。ソリューションエクスプローラの参照設定でSystem.Windows.Formsのメンバを確認してもやっぱりGetFeedBackしかありません。なぜでしょうか?セットアップの方法が悪かったのでしょうか?どなたかご教授願えないでしょうか?

※ちなみにツールとしてGrapcityのInputManを使用しています。それが何か関係するのでしょうか?InputManのヘルプにはGotFocusはSystem.Windows.Forms.controlを継承すると記述がありましたが、この私の環境ではSystem.Windows.Formsの中にはSystem.Windows.Forms.controlは存在していませんでした。

※やりたいこと自体は"コントロールがフォーカスを取得した際に処理を組み込みたい"といったことです。GotFocusイベントに変わるものがあるのでしょうか?


じゃんぬねっと  URL  2005-04-02 18:34:26  No: 89187

普通は Enter イベントを使いますから。
GotFocus は低水準イベントですから。


さるべーじ  2005-04-02 20:50:39  No: 89188

> この私の環境ではSystem.Windows.Formsの中には
> System.Windows.Forms.controlは存在していませんでした。

「存在していない」と判断した際に、どう調査したかを書いていただけると
追証しやすく、回答がつきやすくなるかもしれません。

とりあえず私の環境(VB.NET2003/Ver7.1.3091)ではオブジェクトブラウザの
[System.Windows.Forms]-[Control]のメンバにありましたが、
そこは確認しましたか?
メンバ側で右クリックして[非表示のメンバ]にチェックをつけると、
GotFocusイベントがグレーで表示されるようになります。

で、

  http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclassgotfocustopic.asp

も読んでいただいて、

(「一般的に、 GotFocus イベントおよび LostFocus イベントは、 UICues を更新するときにだけ使用されます。」のあたりとか)

VB→VB.NETでのセオリーの違いを把握しておくと乗換えが楽になるかもしれません。
丸暗記でいいなら、[旧VB:GotFocus/LostFocus]→[VB.NET:Enter/Leave]で
理解しておけばとりあえずおっけーかと。


ドットネット初心者  2005-04-02 22:29:26  No: 89189

じゃんぬねっと様、さるべーじ様、大変ありがとうございました。これからEnterイベントでうまくいきました。
また[System.Windows.Forms]-[Control]に灰色で表示もされていました(それをどう使うかはこれから試してみます)。

※それにしてもこの掲示板には恐れ入ります。返答される方の知識の深さもですが、何よりすさまじいほどの回答の早さには特に驚愕です。


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

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






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