C# 窗口关不掉

xaaabeijixiong2012 2012-07-24 10:03:30
我这样在time_tick下这么写:
if (comm.IsOpen&&qitaselect.Substring(1, 1) == "1")////////////////////////////////////////////////需修改
{
Form12 form12 = new Form12();
form12.show();
if (zhuangtai2.Substring(6, 1) == "1")
{
}
else if (zhuangtai2.Substring(6, 1) == "0")
{
qitaselect = qitaselect.Substring(0, 1) + "0";
form12.Visible = false;
form12.Close();
}
}

我利用中断模式调试,发现当zhuangtai2.Substring(6, 1) == "0"时:

其下面的三句话: qitaselect = qitaselect.Substring(0, 1) + "0";
form12.Visible = false;
form12.Close();
都是执行了的,执行完后因总条件“qitaselect.Substring(1, 1) == "1"”不在符合就不会再来执行这段代码了;

但是问题是:这样执行后(确认form12.Visible = false;form12.Close();)都是被执行过的,但窗口就是关不掉!!!!!

form12.show()能打开窗口,但close()就是关不掉!!!!!!

请问这是为什么
?????????????
...全文
385 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wust_li_2012 2012-07-24
  • 打赏
  • 举报
回复
把timer1.Stop()改为timer1.Enabled = false;试试
xaaabeijixiong2012 2012-07-24
  • 打赏
  • 举报
回复
来个高手帮小弟我解答下啊??
xaaabeijixiong2012 2012-07-24
  • 打赏
  • 举报
回复
我现在吧时钟都停下了,确保他不会创建新的,但还是关不掉!!!

这样改,关掉时钟:
在time_tick下这么写:
if (comm.IsOpen&&qitaselect.Substring(1, 1) == "1")////////////////////////////////////////////////需修改
{
Form12 form12 = new Form12();
form12.show();
if (zhuangtai2.Substring(6, 1) == "1")
{
}
else if (zhuangtai2.Substring(6, 1) == "0")
{
time1.stop();
qitaselect = qitaselect.Substring(0, 1) + "0";
form12.Visible = false;
form12.Close();
}
}

关掉了时钟,还是关不掉哪个窗口!这是为什么?

bdmh 2012-07-24
  • 打赏
  • 举报
回复
你关掉之后,不是还会创建窗体吗,定时器马上就会创建新的,你间隔多少,条件不满足,你得看看为什么不满足,调试
杨友山 2012-07-24
  • 打赏
  • 举报
回复
如果你想强行退出,

this.Close();
Process.GetCurrentProcess().Kill();

110,555

社区成员

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

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

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