FormのLeaveイベントがうまく動かない への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 トマト  (小学生) 投稿日時 2010/1/10 03:35:36
MSDNを見て解決しました。
Me.Activate を使いました。
投稿者 トマト  (小学生) 投稿日時 2010/1/10 03:24:14
LostFocusイベントではうまく動きませんでした。
Deactivateイベントでうまくいきました。
ありがとうございました。

もう1おたずねしたいのですが、アイコンをクリックしてVisibleがTrueになったForm1にフォーカスを持たせるにはどうしたらいいでしょうか?
Me.Focus ではうまくいきませんでした。(エラーも出ずに)
投稿者 brv  (社会人) 投稿日時 2010/1/9 09:18:47
確か、Deactivateイベントがあったはず(間違っていたらすみません)
投稿者 (削除されました)  () 投稿日時 2010/1/9 06:48:59
(削除されました)
投稿者 もすもす  (小学生) 投稿日時 2010/1/9 05:46:00
失敗作1を2008でテストしましたが、TextBoxなどのコントロールではLeaveイベントが発生したものの、Formではなぜか発生しませんでした。なるべく使用を避けるべきといわれていますが、LostFocusイベントは発生したので、LostFocusイベントを使用するのも1つの手段ではないかと思います。その他に最適と思われるイベントがありましたら、どなたかご指摘をお願いします。
投稿者 トマト  (小学生) 投稿日時 2010/1/8 23:09:29
こんにちは。冬休みが終わってしまったトマトです。
今、タスクバーに常駐してクリックするとメイン画面を表示するソフトを開発しています。
メイン画面のForm1からフォーカスが外れた時に非表示にしたいのですが、うまくいきません。

失敗作1
Private Sub Form1_Leave(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Leave
    Me.Visible = False
End Sub

失敗作2
Private Sub cLeave(ByVal sender As ObjectByVal e As EventArgs) Handles ToolStrip1.Leave, TextBox1.Leave
    If Not ToolStrip1.Focused AndAlso Not TextBox1.Focused Then
        Me.Visible = False
    End If
End Sub

次のコントロールがあります。
・ToolStrip1(ボタンが3つ)
・TextBox1(MSゴシック 72pt)