C#程序以Icon的形式显示在任务栏右下角
Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的,
若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件,
在使窗体最小化的代码中需要做如下修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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。
代码:
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
|
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();
}
|