C#実装トレイアイコン

1208 ワード

C++に比べて、c#が提供するNotifyIconコントロールはトレイアイコンを実現するのが簡単です.
トレイプログラムの作成:
1.NotifyIconコントロールをフォームにドラッグ&ドロップし、NotifyIconのIconを設定します(重要です!そうでないと、実行後に効果が見えません).コントロールフォームをトレイに最小化します.
private void MinToIcon() 
{
  this.Hide();
  this.ShowInTaskbar = false;
  this.notifyIconCtrl.Visible = true;
 }
 
private void ShowDlg()
 {
   this.Show();
   this.ShowInTaskbar = true;
   this.notifyIconCtrl.Visible = false;
}

3.メニュー項目の作成:「メインフォームの表示」、「終了」、メニューをNotifyIconに掛ける.
private MenuItem showDlgMenu = new MenuItem("    ");
private MenuItem exitMenu = new MenuItem("  ");

this.showDlgMenu.Click += new EventHandler(showDlgMenu_Click);
this.exitMenu.Click += new EventHandler(exitMenu_Click);

this.notifyIconCtrl.ContextMenu = new System.Windows.Forms.ContextMenu();
this.notifyIconCtrl.ContextMenu.MenuItems.Add(this.showDlgMenu);
this.notifyIconCtrl.ContextMenu.MenuItems.Add(this.exitMenu);

private void btnMinToIcon_Click(object sender, EventArgs e)
{
  MinToIcon();
}

void showDlgMenu_Click(object sender, EventArgs e)
{
  ShowDlg();
}

void exitMenu_Click(object sender, EventArgs e)
{
  this.Dispose(true);

  Application.ExitThread();
}