メイン フォームとシステム タスク トレイ アイコンを持つアプリケーションがあります。メイン フォームのデザイナで、TrayIcon
コントロールをフォームにドラッグしたので、メイン フォームの子になります。
この時点で、ユーザーがメイン フォームの閉じるボタンを押すと、ユーザーが TrayIcon を右クリックして [終了] をクリックしない限り、アプリケーションが終了しないように実際には非表示になります。ただし、メイン フォームには多くのコントロールとリソースがあり、メイン フォームが非表示の場合でも、これらのリソースのためにメモリを使用します。私の目標は、実際にフォームを破棄して、使用されていないときにそのメモリを占有しないようにすることです。
私が間違っていない限り、メインフォームが非表示になっている場合、そのメモリはもう占有されませんが、そうではないと思います. 私はメモリの専門家ではありません。メモリ管理のしくみについて完全に誤解している可能性さえあるため、この質問は無効です。
とにかく、メインフォームが非表示になっているだけの場合でも、フォームを完全に閉じることで解放できるメモリを消費するという点で正しい場合、アプリケーションを終了せずにメインフォームを実際に閉じる方法はありますか? もしそうなら、メイン フォームのクラスではなく、クラスでTrayIcon
with コードを作成する必要がありますね。Program