添加了一个NotifyIcon,但是我点击关闭的时候,并没有最小化到系统托盘

wqerqoo 2014-08-01 10:32:41
我给一个winform程序添加了一个notifyIcon控件,设置了一个Icon。

一般,有这种系统托盘图标的程序,行为都是这样的:当我点击叉叉关闭窗口的时候,会提示我程序最小化到系统托盘,继续运行。然后在系统托盘里面双击图标,则会恢复窗口。

但是我的程序运行起来以后,点击关闭按钮,直接就退出了,并没有最小化到托盘。这个需要我做额外的编程吗?
谢谢。
...全文
218 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
by_封爱 版主 2014-08-01
  • 打赏
  • 举报
回复

 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)       
 {           
 notifyIcon1.Visible = false;     
       this.Visible = true;     
       this.WindowState = FormWindowState.Normal;  
      }
这个就是图标双击 显示窗体的..
wqerqoo 2014-08-01
  • 打赏
  • 举报
回复
引用 3 楼 diaodiaop 的回复:
当然需要自己写代码了.. 比如程序最小化 那个东西 show否则hide like

 private void Form1_SizeChanged(object sender, EventArgs e)
        {
            return;
            if (this.WindowState == FormWindowState.Minimized)  //判断是否最小化
            {
                notifyIcon1.Visible = true;
                notifyIcon1.ShowBalloonTip(5000, "系统提示", "程序已经最小化,正在后台运行中.", ToolTipIcon.Info);
                this.Visible = false;
            }
            else
            {
                notifyIcon1.Visible = false;
                this.Visible = true;
            }
        }
当然 双击的时候 是恢复的

 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            notifyIcon1.Visible = false;
            this.Visible = true;
            this.WindowState = FormWindowState.Normal;
        }

谢谢,我在你的基础上稍加了修改。也就是当我最小化窗口的时候,显示系统托盘,隐藏窗口。 我希望双击系统托盘的图标的时候,窗口恢复显示。这个也需要位notifyIcon添加代码吗? 我现在的代码是:

        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                notifyIcon1.Visible = true;
                this.ShowInTaskbar = false;
                notifyIcon1.ShowBalloonTip(5000, "tipTitle", "tipText", ToolTipIcon.Warning);//, notifyIcon1);
            }
            else
            {
                notifyIcon1.Visible = false;
                this.ShowInTaskbar = true;
                this.Visible = true;
            }
        }
我发现最小化的时候,显示了托盘图标且隐藏了主窗口。但是双击图盘图标没有反应,没有恢复主窗口显示。 怎么办呢?
小恒丶 2014-08-01
  • 打赏
  • 举报
回复
你点关闭的时候应该让程序最小化隐藏起来。不是加了就没事了的。。
by_封爱 版主 2014-08-01
  • 打赏
  • 举报
回复
当然需要自己写代码了.. 比如程序最小化 那个东西 show否则hide like

 private void Form1_SizeChanged(object sender, EventArgs e)
        {
            return;
            if (this.WindowState == FormWindowState.Minimized)  //判断是否最小化
            {
                notifyIcon1.Visible = true;
                notifyIcon1.ShowBalloonTip(5000, "系统提示", "程序已经最小化,正在后台运行中.", ToolTipIcon.Info);
                this.Visible = false;
            }
            else
            {
                notifyIcon1.Visible = false;
                this.Visible = true;
            }
        }
当然 双击的时候 是恢复的

 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            notifyIcon1.Visible = false;
            this.Visible = true;
            this.WindowState = FormWindowState.Normal;
        }

於黾 2014-08-01
  • 打赏
  • 举报
回复
关闭窗口的时候是直接关闭,还是最小化到托盘 托盘图标是一直显示,还是最小化时才显示 单击托盘图标是弹出列表,还是回复窗口 这些都需要你自己写代码,程序不会自动知道你到底想怎么用
於黾 2014-08-01
  • 打赏
  • 举报
回复
需要你自己写代码的.不是加了个图标就万事大吉了.

110,560

社区成员

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

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

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