一个notifyIcon和contextMenu关联
目的是实现最小化到系统托盘,然后左键单击托盘图标还原窗口,右键单击弹出contextMenu
但是在点击contextMenu上面菜单项的同时也会触发notifyIcon的click事件(窗口还原)
请问怎么解决这个问题?谢谢
目的是实现最小化到系统托盘,然后左键单击托盘图标还原窗口,右键单击弹出contextMenu
但是在点击contextMenu上面菜单项的同时也会触发notifyIcon的click事件(窗口还原)
请问怎么解决这个问题?谢谢
你的程序可能是细节处理问题,最好能贴出代码。
{
bool createdNew;
Mutex m = new Mutex(true ,Application.ProductName, out createdNew);
if(createdNew)
{
Application.Run(new Form1());
m.ReleaseMutex();
}
}
//处理一个log文件
private void button1_Click(object sender, System.EventArgs e)
{
try
{
//文件读写
}
catch(Exception e1)
{
MessageBox.Show(e1.Message,"Log");
}
} //contextMenu的“退出”菜单项
private void menuItem1_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
//contextMenu的“处理log”菜单项
private void menuItem4_Click(object sender, System.EventArgs e)
{
button1_Click(this.button1, null);
}
private void Form1_SizeChanged(object sender, System.EventArgs e)
{
if (this.WindowState==FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible=true;
}
}
//单击notifyIcon
private void notifyIcon1_Click(object sender, System.EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}
//contextMenu的“还原”菜单项
private void menuItem2_Click(object sender, System.EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}