永发信息网

C#关闭窗体的问题

答案:6  悬赏:60  手机版
解决时间 2021-08-01 08:02
  • 提问者网友:一抹荒凉废墟
  • 2021-07-31 17:54

如:

public Form1()

{

Form2 f2 =new f2();

f2.show();

this.Close();

}

运行结果是Form2窗体闪一下就消失了,而Form1却不消失。也就是说关闭的是Form2窗体。。。请问如何如我所愿关闭Form1,保留Form2。(必须按照我的逻辑,先显示Form1,创建Form2,在关闭Form1)

最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-07-31 19:33

Form2 f2 =new Form2();


this.Visible = false;
f2.Show();

全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-07-31 23:23

在 Form1的 Closeing 事件中加入。。

Form2 frm = new Form2(); Program.context.MainForm = frm ; frm .Show();

就可以了。。

  • 2楼网友:街头电车
  • 2021-07-31 22:19
public class form1 { showForm2() { Form2 f2 = new Form2(this as Form); f2.Show(); } public class Form2 { Form sF = null; Form2(Form f) { sF = f; } Show() { base.Show(); sF.Close(); } } 我想应该可以的,实现的方法应该也有很多.
  • 3楼网友:毛毛
  • 2021-07-31 22:02

不能用close,要用Hide()方法。用close方法就会关闭所有的窗口。

public void xianshi()//方法名不要与系统的一样,其他的随便起 { Form2 obj = new Form2();//你的这句写错了 obj.Show(); this.Hide(); }

调用方法就可显示Form2了,Form1也不显示了。

  • 4楼网友:梦中风几里
  • 2021-07-31 21:40

把this.Close();改成this.Visible = false;就可以了,还有this是指向它所在的那个类,就是说你那个this是在Form1写的话它就一定是指向Form1的,就算你创建了f2,它也是指向Form1

  • 5楼网友:躲不过心动
  • 2021-07-31 20:38

再加个this.close()不就得了,搞的这么复杂,照我看,索性一个Application.exit得了

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯