じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

Halo3 にハマり中。アービターかわいいよ。あーびたん。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

Blog Item

フィードメーター - じゃんぬねっと日誌

書庫

GotFocus と LostFocus は低水準イベント

旧 VB プログラマ (というのも変ですが) に多いのですが、VB7 (VB2002) 以降で GotFocus イベントや LostFocus イベントを使う方が未だにいらっしゃいます。発売してもう何年も経ってますし、そろそろやめにしませんか? (;´-ω-`)

GotFocus イベントと LostFocus イベントが低水準なイベントです。GotFocus イベントの代わりに Enter イベント、LostFocus イベントの変わりに Leave イベントを使用します。以下は、MSDN ライブラリから抜粋です。

GotFocus イベントおよび LostFocus イベントは、WM_KILLFOCUS Windows メッセージおよび WM_SETFOCUS Windows メッセージに結び付けられた、低水準のフォーカス イベントです。一般的に、GotFocus イベントおよび LostFocus イベントは、UICues を更新するときにだけ使用されます。Activated イベントおよび Deactivate イベントを使用する Form クラス以外のすべてのコントロールに対して、Enter イベントおよび Leave イベントを使用する必要があります。

実際、Form をアクティブにした時に GotFocus イベントが駆動してしまいます。実際、Form をディアクティブにすると LostFocus イベントが駆動してしまいます。(その TextBox にフォーカスがある場合のみです)

外注さんからあがってきたコードを、一括置換するのに慣れてしまいました。そんな私からのお願いでした。(*_ _)

投稿日時 : 2006年1月25日 19:10

コメントを追加

# re: GotFocus と LostFocus は低水準イベント 2006/04/12 12:00 じゃんぬ

ある情報によると、VB2002 までは GotFocus イベントと LostFocus イベントは非表示だったとか...
だとすれば、VB2003 で何故に復活してしまったのか...

そりゃあれば、VB6 ユーザーは同じイベント名だし、
使ってしまうのも無理はないとフォローしておきます。

ともかく、Enter イベント、Leave イベントにしましょう。

# re: GotFocus と LostFocus は低水準イベント 2008/05/29 11:48 じゅで

2008年の今現在でも使う人は居ます・・・orz
話が通じないので、どうしようか迷ってます・・・

タイトル  
名前  
URL
コメント