110,534
社区成员
发帖
与我相关
我的任务
分享
FormWindowState fws = this.WindowState;
对程序进行托盘化
首先
1.设置WinForm窗体属性showinTask=false
2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。 // 这个控件是为了在任务栏显示小图标
3.添加窗体最小化事件(首先需要添加事件引用):
this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //添加窗体改变事件
private void Form1_SizeChanged(object sender, EventArgs e) //事件中的代码
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible = true;
}
}
脱出控件contextMenuStrip
4.可以给notifyIcon添加右键菜单:
主窗体中拖入一个ContextMenuStrip控件NicontextMenu,点中控件,在上下文菜单中添加菜单,notifyIcon1的ContextMenu行为中选中contextMenuStrip1即可。剩下的就是加事件了。
设计页面上为他添加显示与退出按钮,然后为按钮上的控件添加事件;
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e) //显示按钮
{
if (this.ShowInTaskbar == false)
notifyIcon1.Visible = true;
this.ShowInTaskbar = true;
this.Show();
this.Activate();
this.WindowState = FormWindowState.Normal;
}
private void toolStripMenuItem1_Click(object sender, EventArgs e) //退出按钮
{
Application.Exit();
}
下面代码为左键单击显示窗体
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left ) //如果左键选中,此事件只能是MouseEventArgs e的情况下调用
{
if (this.ShowInTaskbar == false)
notifyIcon1.Visible = true;
this.ShowInTaskbar = true;
this.Show();
this.Activate();
this.WindowState = FormWindowState.Normal;
}
}