使用this.hide()时表单关闭

本文关键字:表单 this hide 使用 | 更新日期: 2024-10-21 12:29:53

每当我使用它时。隐藏();表单关闭,而不仅仅是隐藏??我打算用这个。隐藏();以将我的表单最小化到系统托盘。

这将关闭窗体.

 private void label14_Click(object sender, EventArgs e)
    {
        this.Hide();
    }

这个表单是启动的第二个表单,它从第一个表单调用,如下所示:

Form frm = new Main();
frm.ShowDialog();

我确实试过用frm。显示();但是随后程序再次终止。。我想问题出在表单最初的启动方式上?

编辑:我不得不更改表单的调用方式。在第一个表单中,我不得不使用this.hide而不是this.close。

使用this.hide()时表单关闭

您必须这样做:

this.WindowState = FormWindowState.Minimized;

实际上,当使用Hide()时,表单仍然是打开的,但隐藏在某个地方。因此,在我看来,使用Hide()方法并再次创建一个新对象来显示表单不是正确的做法。要在它们之间切换,最好创建一个表单管理器类。

根据评论,这可能会解决问题(如果不能简单地调用Show()方法):

 Form1 form = Application.OpenForms["Form1"] as Form1 ;
 if (form != null)
 {
     form.Show(); 
 }

仅隐藏方法集可见性。关闭并处理内部对象!