private void frmMain_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
}
}这段程序可以最小化托盘,已经实现了。但是当光标停留在程序上,并点击任务栏运行的程序后也触发了SizeChanged这个事件被最小化了,请问怎么避免点击任务栏中的窗体不进入SizeChanged事件中,谢谢,只有最小化的时候触发。
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
}
}这段程序可以最小化托盘,已经实现了。但是当光标停留在程序上,并点击任务栏运行的程序后也触发了SizeChanged这个事件被最小化了,请问怎么避免点击任务栏中的窗体不进入SizeChanged事件中,谢谢,只有最小化的时候触发。
解决方案 »
- 求解登录问题
- 高手帮忙看下,C#解析网站数据出错,显示错误为“0”的值对于“index”无效。“index”应介于 0 和 -1 之间。
- 如何将一个2位的byte数组转为1个int?
- 确认个问题
- 求助:关于ListBox的一个问题?
- asp.net 操作excel 急 急 急 ~~~ 在线等待
- 如何 将gridview控件中的全部数据转成常规数组
- 急啊!Request对象得到的数据不完整??
- 一个关于ArrayList的问题,所有分送上!!!
- 请问那里有C#可以下,请告诉我一个,多谢了!!!★分数立即送上!※
- 中间语言和最终执行的代码
- 急急急急求一个C#的RPG游戏,什么都行只要能耍的,谢了!!!
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x0112: // WM_SYSCOMMAND
{
if (m.WParam.ToInt32() == 0xF020) // SC_MINIMIZE
{
if (m.LParam.ToInt32() > 0)
{
// 点击的
}
} break;
}
default:
break;
}
base.WndProc(ref m);
}
1 拉一个NotifyIcon控件notifyIcon,为控件notifyIcon的属性Icon添加一个icon图标。
2 private void frmMain_SizeChanged(object sender, EventArgs e)
{
if(this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible=true;
}
}
3 为notifyIcon1添加双击事件
private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
} 4 也可以再给notifyIcon添加右键菜单
在From窗体中增加了上面的事件,然后在if (m.WParam.ToInt32()中增加了 this.Hide();可以区分出点击了 任务栏或者最小化 但是它一直循环,最后最小化,点任务栏都没有隐藏,区分开了也进入代码了,最小化没有隐藏掉窗体。
if (m.LParam.ToInt32() > 0)
{
this.Hide();
return;
}