通知領域には何も表示されません。コードをトレースして、何が起こっているかを確認してください。私はいくつかのコメントを追加しました:
private void button6_Click(object sender, EventArgs e)
{
// When button 6 is clicked, minimize the form.
this.WindowState = FormWindowState.Minimized;
}
private void Form_Resize(object sender, EventArgs e)
{
// Catch the case where the form is minimized, including but not limited to
// clicks on button 6.
if (WindowState == FormWindowState.Minimized)
{
// In that case, hide the form.
this.Hide();
}
}
private void notifyIcon_Click(object sender, EventArgs e)
{
// If the notification icon is clicked, reshow the form as a normal window.
this.Show();
this.WindowState = FormWindowState.Normal;
}
今問題に気づきましたか?フォームが最小化されている場合は、フォームを非表示にするだけです。NotifyIcon
にアイコンを表示するように指示することはありません。Visible
プロパティのデフォルト値は ですfalse
。true
アイコンを表示し、アイコンを非表示にするには、に設定する必要がありますfalse
。
したがって、次のようにコードを変更します。
private void Form_Resize(object sender, EventArgs e)
{
// Catch the case where the form is minimized, including but not limited to
// clicks on button 6.
if (WindowState == FormWindowState.Minimized)
{
// In that case, hide the form.
this.Hide();
// And display the notification icon.
notifyIcon.Visible = true;
// TODO: You might also want to set other properties on the
// notification icon, like Text and/or Icon.
}
}
private void notifyIcon_Click(object sender, EventArgs e)
{
// If the notification icon is clicked, reshow the form as a normal window.
this.Show();
this.WindowState = FormWindowState.Normal;
// And hide the icon in the notification area.
notifyIcon.Visible = false;
}