この問題にこれ以上時間を割きたくはありませんが、この問題について読むことに興味があり、答えを知っている場合は、返信してください。前もって感謝します。
ShowInTaskbar を False に設定して、別の Windows フォーム アプリケーションを最小化モードで起動する Windows フォーム アプリケーションがあります。最初のアプリケーションには、次のメソッドを使用して他のアプリケーションを表示する [表示] ボタンがあります。
ShowWindow(WindowHandle, ShowWindowCommands.Normal)
SetForegroundWindow(WindowHandle)
2 番目のアプリケーションでアクティブ化イベントを使用して、アクティブ化されたときにそのフォームを更新しています。問題は、多くの場合、フォームがアクティブ化されたときに activate イベントが発生しないことです。非表示のフォームが表示され、アクティブ化されますが、アクティブ化イベント ハンドラーは呼び出されません。最初のアプリケーションは MDI アプリケーションですが、それがどのように影響するかわかりません。
2 番目のフォームには、それを非表示にするボタンがあります。このボタンは、フォームの Hide メソッドを呼び出すだけで、フォームを最小化しません。次に最初のアプリケーションで Show ボタンが押されると、2 番目のアプリケーションの activate イベントが発生します。2 番目のアプリケーションの ShowInTask バーを True に設定しても役に立ちません。ウィンドウを非表示にする代わりに最小化しても、アプリケーションが 2 回目にアクティブ化されたときに Activate イベントが発生するのを防ぐことはできません。