小化到托盘就退出程序了~~?

YJJ_XXML 2008-05-28 04:53:26
急啊~~~!
把窗体小化到托盘就直接退出了呢~~?
部分代码如下:(这块是我从网上资料来的)
private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}

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



this.SizeChanged = new System.EventHandler(this.Form1_SizeChanged); //是主窗体InitializeComponent()方法中需要添加的引用



...全文
160 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
有爱的小止 2011-04-28
  • 打赏
  • 举报
回复
三年了、楼主还能看到么。。。。我现在出的也是这个问题。当初楼主怎么解决的啊
YJJ_XXML 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 yhnxxx 的回复:]
引用楼主 YJJ_XXML 的帖子:
this.SizeChanged = new System.EventHandler(this.Form1_SizeChanged);

这句有点问题吧。你能执行么?貌似应该是:

C# code
this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);


吧。。。我的是2003=。=
[/Quote]


不好意思~,那个我打错了~~,是“+=”,我用的是 2005的

我也不代码运行到新建的项目里试了下~~,没有出现问题~~~,
我也打开了任务管理器~~,当我最小化窗体后进程绝对结束了,所以我之前一直说的退出程序是没错的

会不会是22楼说的,是环境的问题~~~,
那要如何解决呢~~~?

我现在是晕到后又被噩梦惊醒的感觉~~~~!
taoshengming 2008-05-29
  • 打赏
  • 举报
回复
你显示的图标给了没有?

没有图标自然看不见什么了,呵呵!
changjiangzhibin 2008-05-29
  • 打赏
  • 举报
回复
再点托盘图标就可以出来了(单击、双击)
sxmonsy 2008-05-29
  • 打赏
  • 举报
回复
代码没事,有可能是环境的问题。
鼻涕蛋蛋 2008-05-29
  • 打赏
  • 举报
回复
我设断点看了看,为什么那个sizechanged事件,每回都是触发两次?
不管是,最小化,还是还原的时候,有没有知道第二次是为什么触发的?=。=。。
鼻涕蛋蛋 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 YJJ_XXML 的帖子:]
this.SizeChanged = new System.EventHandler(this.Form1_SizeChanged);
[/Quote]
这句有点问题吧。你能执行么?貌似应该是:

this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged);
吧。。。我的是2003=。=
LYMEGG1984 2008-05-29
  • 打赏
  • 举报
回复
应该没问题的啊!!!
VS自己不是带的那个控件··没什么问题的啊···挺好用的··
dgzhang211 2008-05-29
  • 打赏
  • 举报
回复
有啊,我刚开发完的程序里,这个都实现了的。
你看看你托盘的属性里,icon有没有定义图标
wasreset 2008-05-29
  • 打赏
  • 举报
回复
你看看系统进程里有没有这个程序
dgzhang211 2008-05-29
  • 打赏
  • 举报
回复
this.notifyIcon.Visible = true;
这句在初始化时,加上。
dgzhang211 2008-05-29
  • 打赏
  • 举报
回复
按上面的作,保你没问题。
这个承序俺作过。呵呵
dgzhang211 2008-05-29
  • 打赏
  • 举报
回复
if(this.WindowState == FormWindowState.Minimized)
{

this.Visible = false;

}
private void notifyIcon_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
this.Activate();
this.Visible = true;
this.WindowState = FormWindowState.Normal;
}
YJJ_XXML 2008-05-29
  • 打赏
  • 举报
回复
我也觉得纳闷阿~~~,楼上几位的的建议我都会试试的 ~~
非常感谢打家能为这个小问题提出这么多建议,不管解不解决肯定给分~~~
yilanwuyu123 2008-05-29
  • 打赏
  • 举报
回复
程序当然在运行
江城老温 2008-05-29
  • 打赏
  • 举报
回复
private void notifyIcon1_Click(object sender, EventArgs e) 
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
//this.notifyIcon1.Visible = false;
}


或者你把托盘的单击事件改下,如上.这样你的托盘图标就应该一直是可见状态.从窗体的lload事件之后到dispose方法执行完毕,托盘一直应该可见.
baihe_591 2008-05-29
  • 打赏
  • 举报
回复
lz 也许你程序里面有其他关闭程序的代码,我按你 的代码测试完全没有问题.
请lz新建个项目,里面只有上面的代码先测试.
江城老温 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 YJJ_XXML 的回复:]
不是拉~~~,可能是我没说清楚啦~~~,notifyIcon1图标也给了,测试的时候当我单击窗体右上角最小化时,是有那么一瞬间托盘处有出现小化的图标~~,但是~~马上就结束了测试了,我在调试里面看到的状态就是已经退出调试了,


真是伤脑筋 阿~~!!
[/Quote]

代码没问题.同样的代码我测试过了,效果正常.
YJJ_XXML 2008-05-29
  • 打赏
  • 举报
回复
不是拉~~~,可能是我没说清楚啦~~~,notifyIcon1图标也给了,测试的时候当我单击窗体右上角最小化时,是有那么一瞬间托盘处有出现小化的图标~~,但是~~马上就结束了测试了,我在调试里面看到的状态就是已经退出调试了,


真是伤脑筋 阿~~!!

YJJ_XXML 2008-05-28
  • 打赏
  • 举报
回复
不是,真的退出了~~,本来是在调试的阿 ,后来直接就退出了~~~
托盘在退出后虽然没有马上消失~~,但是我点显示隐藏的图标后就没了
加载更多回复(4)

110,538

社区成员

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

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

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