FormのLeaveイベントがうまく動かない への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 トマト  (小学生)
投稿日時
2010/1/10 03:24:14
LostFocusイベントではうまく動きませんでした。
Deactivateイベントでうまくいきました。
ありがとうございました。
もう1おたずねしたいのですが、アイコンをクリックしてVisibleがTrueになったForm1にフォーカスを持たせるにはどうしたらいいでしょうか?
Me.Focus ではうまくいきませんでした。(エラーも出ずに)
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
失敗作2
次のコントロールがあります。
・ToolStrip1(ボタンが3つ)
・TextBox1(MSゴシック 72pt)
今、タスクバーに常駐してクリックするとメイン画面を表示するソフトを開発しています。
メイン画面のForm1からフォーカスが外れた時に非表示にしたいのですが、うまくいきません。
失敗作1
Private Sub Form1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Leave
Me.Visible = False
End Sub
失敗作2
Private Sub cLeave(ByVal sender As Object, ByVal 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)
Me.Activate を使いました。