托盘点击4下才显示???

yunyun1900 2012-03-21 01:26:22
winform的超级菜鸟,请教一下,
从网上抄的代码,托盘后,2下2下点击,总点击4次后托盘才显示窗口,是不是代码问题,谢谢

private void Form1_Load(object sender, EventArgs e)
{
// 任务栏显示小图标
this.notifyIcon1.ShowBalloonTip(1, "系统提示", "程序正在运行~~~", ToolTipIcon.Info);
}
private void HideMainForm()
{
this.Hide();
}

private void ShowMainForm()
{
this.Show();
this.WindowState = FormWindowState.Normal;
this.Activate();
}
private void ExitMainForm()
{
if (MessageBox.Show("您确定要退出化验数据接收程序吗?", "确认退出", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
this.notifyIcon1.Visible = false;
this.Close();
this.Dispose();
Application.Exit();
}
}


private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
HideMainForm();
}

private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Normal)
{
this.WindowState = FormWindowState.Minimized;

HideMainForm();

}
else if (this.WindowState == FormWindowState.Minimized)
{
//this.WindowState = FormWindowState.Normal;
ShowMainForm();

}
}

private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
HideMainForm();
}

}

private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowMainForm();

}

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
ExitMainForm();

}

...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunyun1900 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ghypnus 的回复:]
加这句话 this.WindowState = FormWindowState.Minimized;
[code = c#]private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Mini……
[/Quote]
太棒了,搞定,就是这个问题
yunyun1900 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 violet725 的回复:]
private void notifyIcon1_DoubleClick
你双击事件
不双击怎么执行
你改到单击事件不就完了
那来那么多废话呢
[/Quote]
只有你一个看不懂
violet725 2012-03-21
  • 打赏
  • 举报
回复
private void notifyIcon1_DoubleClick
你双击事件
不双击怎么执行
你改到单击事件不就完了
那来那么多废话呢
  • 打赏
  • 举报
回复
[code=c#]e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
HideMainForm();[code]
  • 打赏
  • 举报
回复
加这句话 this.WindowState = FormWindowState.Minimized;
[code = c#]private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
HideMainForm();

}[/code]
yunyun1900 2012-03-21
  • 打赏
  • 举报
回复
那位前辈来份简明没问题的托盘源码,谢谢
yunyun1900 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tanghuawei 的回复:]
把notifyIcon1_DoubleClick这里的HideMainForm()去掉,
因为你double之后会触发sizechanged事件。change事件又调用了一次hide
[/Quote]
问题一样老样
tanghuawei 2012-03-21
  • 打赏
  • 举报
回复
把notifyIcon1_DoubleClick这里的HideMainForm()去掉,
因为你double之后会触发sizechanged事件。change事件又调用了一次hide
yunyun1900 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qldsrx 的回复:]
你这段干嘛的:

C# code
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
HideMa……
[/Quote]

去掉后,还是要连续点击2次,每次双击后才显示
qldsrx 2012-03-21
  • 打赏
  • 举报
回复
你这段干嘛的:
        private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
HideMainForm();
}
}

去掉看看

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧