c# 怎样关闭一个窗体打开另一个窗体,在线等

guwen1111 2011-10-30 11:01:26
点击第一个窗体中的按钮第一个窗体关闭,第二个窗体打开


为什么我以下的代码,点击第一个窗体后第一个窗体关闭,第二个窗体一闪就消失了


第一个窗体:form1

private void button1_Click(object sender, EventArgs e)
{
Form form = new Form2();
form.Show();
this.Close();
}

第二个窗体:form2是一个空窗体,没有添加任何代码和控件


...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
加旋仔 2011-10-30
  • 打赏
  • 举报
回复
假如我第一个窗体是showdialog的话,我想先关闭第一个窗体,然后在new第二个窗体,同样会出现上面闪一下的情况,但是这个情况不是经常出现,而是偶然性出现,假如点10次,或许会有1次会出现以上情况。
gxmark 2011-10-30
  • 打赏
  • 举报
回复
form是主窗体,关闭则整个应用程序就关闭,可以隐藏实现之:
通过下面两种方式之一:
this.Hide();
this.Visible = false;
happytonice 2011-10-30
  • 打赏
  • 举报
回复
经反复试验,星期天的提问结贴率特别低
轻狂小疯 2011-10-30
  • 打赏
  • 举报
回复
LZ用下THREAD 多线程吧 。。。。。那样好弄一点!!
wnyxy001 2011-10-30
  • 打赏
  • 举报
回复
如果一定要关闭可以这样写


private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(delegate { Application.Run(new Form2()); }));
t.Start();
this.Dispose(true);
}
暖枫无敌 2011-10-30
  • 打赏
  • 举报
回复
皮之不存,毛将焉附??

你的Form2窗体实例是在Form1中创建的,如果Form1都关闭了的话,Form2当然也关闭了。

将this.Close(); 改为this.Hide();

110,533

社区成员

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

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

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