form最小化时的奇怪问题-_-

jknight 2003-10-18 01:09:43
private void Form1_Resize(object sender, System.EventArgs e)
{
if (this.WindowState==System.Windows.Forms.FormWindowState.Minimized)
{
this.Hide();
}
}

最小化时程序为什么会自动退出?

顺便问一下,this.Hide()和this.Vsible=false是不是一样的?
...全文
23 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenqinzeng 2003-10-18
  • 打赏
  • 举报
回复
你没有退出的,只是窗口隐藏起来而己的。另外this.Hide()和this.Vsible=false是一样的?
rgbcn 2003-10-18
  • 打赏
  • 举报
回复
hide只是隐藏起来,跟退出不一样,
窗口不需要再次加载,
退出的话就需要再次加载
wzt226 2003-10-18
  • 打赏
  • 举报
回复
up
我想也是窗口隐藏起来了。
nchln 2003-10-18
  • 打赏
  • 举报
回复
没有自动退出,只是窗口隐藏起来了。
fgc5201314 2003-10-18
  • 打赏
  • 举报
回复
当然是退出啦!this.hide()时窗体是关闭的!VB就是不要关闭!
jknight 2003-10-18
  • 打赏
  • 举报
回复
天下第一奇案

程序100%是退出了,系统托盘里的图标不见了,进程里也看不到,返回到了vs界面。
ArLi2003 2003-10-18
  • 打赏
  • 举报
回复
this.Hide(); 并没有退出,只是隐藏了起来,但它仍然可以处理系统message,比如快捷键来判断当前窗口是否再次显示

你可以试试

this.Hide();
MessageBox.Show("windows.hide()");
this.Show();
FileNewExit 2003-10-18
  • 打赏
  • 举报
回复
我们可以这样来测试一下:
一.添加一个timer控件
private System.Windows.Forms.Timer timer1;
二.当当前窗口处于最小化状态时,启动timer1
private void Form1_Resize(object sender, System.EventArgs e)
{
if(this.WindowState == FormWindowState.Minimized){
this.Hide();
timer1.Start();
}
}
三.检测到窗口处于最小状态时显示窗口,同时停止timer1
private void timer1_Tick(object sender, System.EventArgs e)
{
if(this.Visible == false){
this.Show();
timer1.Stop();
}
}

四.编译运行可以看看效果
-------------------
FileNewExit 2003-10-18
  • 打赏
  • 举报
回复
没有自动退出,只是窗口隐藏起来了.因为:在Windows的任务管理器中仍然可以看到该进程
jknight 2003-10-18
  • 打赏
  • 举报
回复
程序确实退出了,而不是窗口隐藏,所以偶才觉得很奇怪

110,499

社区成员

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

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

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