C#程序以Icon的形式显示在任务栏右下角
Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的,
若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件,
在使窗体最小化的代码中需要做如下修改:
if(this.WindowState==FormWindowState.Normal&&this.Visible==true) { this.notifyIcon1.Visible=true;//在通知区显示Form的Icon this.WindowState=FormWindowState.Minimized; this.Visible=false; this.ShowInTaskbar=false;//使Form不在任务栏上显示 }
【c#中 让WinForm应用程序最小化图标显示在任务栏并提供右击菜单】
WinForm窗口最小化到系统托盘右击托盘图标弹出退出菜单
1. 在Form上加notifyicon控件myIcon,为控件的属性Icon添加一个icon图标, Text为鼠标在图标上时显示的tip。
2. 在Form1_FormClosing中设置Form的ShowInTaskbar属性
3. 在myIcon_MouseClick事件中设置Form的ShowInTaskbar和WindowState属性
4. 添加ContextMenuStrip控件myMenu,右键托盘图标弹出菜单,设置myIcon的ContextMenuStrip属性为myMenu。在myMenu中添加item(退出)。
5. myIcon在MouseClick事件中,判断右键点击 并弹出ContextMenuStrip。
代码:
private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing)//当用户点击窗体右上角X按钮或(Alt + F4)时 发生 { e.Cancel = true; this.ShowInTaskbar = false; this.myIcon.Icon = this.Icon; this.Hide(); } } private void myIcon_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { myMenu.Show(); } if (e.Button == MouseButtons.Left) { this.Visible = true; this.WindowState = FormWindowState.Normal; } } private void toolMenuCancel_Click(object sender, EventArgs e) { Application.Exit(); }