آموزش NotifyIcon در سی شارپ
سلام توسعه دهندگان عزیز در این سری از آموزش برنامه نویسی سی شارپ (c#) به آموزش NotifyIcon در سی شارپ می پردازیم در واقع شاید Notification bar بخش ویندوز که در سمت راست پایین قرار دارد را دیده باشید اگر بخواهید یک آیکون یا حتی برنامه خودتان به صورت یک آیکون که اطلاع رسانی می کند (NotifyIcon ) قرار گیرید می توانید از شئی NotifyIcon در سی شارپ بهره ببرید در واقع با استفاده از NotifyIcon می توانید برنامه خودتان را به سادگی در گوشه پایین در بخش Notification bar مربوط به ویندوز نمایش دهید.
همانند شئی های قبلی (کنترل های قبلی) سی شارپ از دو راه می توان از NotifyIcon استفاده کرد راه اول اینکه آن را از بخش toolbox با استفاده از drag و drop قرار دهیم و استفاده کنیم و راه حل دوم نیز ایجاد کنترل یا شئی NotifyIcon با استفاده از کد است در ادامه با ما همراه باشید تا نحوه استفاده از آن را به شما آموزش دهیم.
در ابتدای کار یک NotifyIcon بروی فرم قرار داده و از کدهای زیر استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // When the program begins, show the balloon on the icon for one second. notifyIcon1.ShowBalloonTip(1000); } private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { // When icon is double-clicked, show this message. MessageBox.Show("Doing something important on double-click..."); // Then, hide the icon. notifyIcon1.Visible = false; } } } |
در بالا وقتی که برنامه را اجرا کنید بعد از یک ثانیه یک Alert یا Notification در سمت راست | پایین برای شما نمایش داده می شود با دوبار کلیک بروی آن یک MessageBox نمایان خواهد شد. notifyIcon1_MouseDoubleClick برای تعریف رویداد دوبار کلیک است.
از ویژگی Icon به منظور تعیین آیکونی که در پایین نمایش داده می شود می توانید استفاده کنید.
از ویژگی Text به منظور تعیین متنی که در پایین نمایش داده خواهد شد می توانید استفاده کنید.
نمونه کد
1 2 3 4 | notifyIcon1.BalloonTipText = "The quick brown fox. Jump!"; notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; notifyIcon1.BalloonTipTitle ="Alert!"; notifyIcon1.ShowBalloonTip(500); |
ایجاد dynamic آن با استفاده از کد
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | using System; using System.Drawing; using System.Windows.Forms; namespace TrayIconTest { class MyApplicationContext : ApplicationContext { //Component declarations private NotifyIcon TrayIcon; private ContextMenuStrip TrayIconContextMenu; private ToolStripMenuItem CloseMenuItem; public MyApplicationContext() { Application.ApplicationExit += new EventHandler(this.OnApplicationExit); InitializeComponent(); TrayIcon.Visible = true; } private void InitializeComponent() { TrayIcon = new NotifyIcon(); TrayIcon.BalloonTipIcon = ToolTipIcon.Info; TrayIcon.BalloonTipText = "I noticed that you double-clicked me! What can I do for you?"; TrayIcon.BalloonTipTitle = "You called Master?"; TrayIcon.Text = "My fabulous tray icon demo application"; //The icon is added to the project resources. //Here I assume that the name of the file is 'TrayIcon.ico' TrayIcon.Icon = Properties.Resources.TrayIcon; //Optional - handle doubleclicks on the icon: TrayIcon.DoubleClick += TrayIcon_DoubleClick; //Optional - Add a context menu to the TrayIcon: TrayIconContextMenu = new ContextMenuStrip(); CloseMenuItem = new ToolStripMenuItem(); TrayIconContextMenu.SuspendLayout(); // // TrayIconContextMenu // this.TrayIconContextMenu.Items.AddRange(new ToolStripItem[] { this.CloseMenuItem}); this.TrayIconContextMenu.Name = "TrayIconContextMenu"; this.TrayIconContextMenu.Size = new Size(153, 70); // // CloseMenuItem // this.CloseMenuItem.Name = "CloseMenuItem"; this.CloseMenuItem.Size = new Size(152, 22); this.CloseMenuItem.Text = "Close the tray icon program"; this.CloseMenuItem.Click += new EventHandler(this.CloseMenuItem_Click); TrayIconContextMenu.ResumeLayout(false); TrayIcon.ContextMenuStrip = TrayIconContextMenu; } private void OnApplicationExit(object sender, EventArgs e) { //Cleanup so that the icon will be removed when the application is closed TrayIcon.Visible = false; } private void TrayIcon_DoubleClick(object sender, EventArgs e) { //Here you can do stuff if the tray icon is doubleclicked TrayIcon.ShowBalloonTip(10000); } private void CloseMenuItem_Click(object sender, EventArgs e) { if (MessageBox.Show("Do you really want to close me?", "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { Application.Exit(); } } } } |
این آموزش هم به پایان رسید.
موفق و پیروز باشید.