کنترل Notify Icon

از کنترل Notify Icon برای نمایش آیکون برنامه در قسمت System tray استفاده می‌شود. یک برنامه ویندوزی ایجاد کرده و کنترل Notify Icon را به آن اضافه کنید.
notifyicon-1
برای نمایش آیکون این کنترل در System tray می‌توان به صورت زیر یک آیکون به آن اختصاص داد :
notifyicon-2
بعد از اضافه کردن کنترل برای کنترل کننده رویداد Resize فرم کد زیر را بنویسید :

private void Form1_Resize(object sender, EventArgs e)
{
	//if form is minimized then it will not be displayed in taskbar.
	if (FormWindowState.Minimized == this.WindowState)
		Hide();
}

کد فوق باعث می‌شود که فرم هنگام Minimize شدن در taskbar نمایش داده نشود. بر روی رویداد DoubleClick کنترل NotifyIcon نیز دو بار کلیک کرده و کد زیر را بنویسید :

private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
	//this will maximize the application minimized to System tray.
	Show();
	WindowState = FormWindowState.Normal;
}

این کد نیز باعث maximize شدن فرم یا برگشت به حالت قبل آن می‌شود. می‌توان یک منو هم به این کنترل اضافه کرد. برای این کار یک کنترل ContextMenuStrip به فرم اضافه کنید و گزینه‌هایی مانند شکل زیر به آن اختصاص دهید :
notifyicon-3
این منو را از طریق خاصیت contextMenuStrip کنترل NotifyIcon به آن اضافه می‌کنیم :

کدهای زیر را هم به گزینه‌های منو با دوبار کلیک بر روی هر کدام از آنها اضافه می‌کنیم:

private void restoreToolStripMenuItem_Click(object sender, EventArgs e)
{
	Show();
	WindowState = FormWindowState.Normal;
}

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
	Application.Exit();
}

برنامه را اجرا و نتیجه را مشاهده کنید :
notifyicon-5