访问表单 - 实例化一次

时间:2014-12-16 18:18:04

标签: c#

关闭表单后,我无法再访问它,因为该对象不再存在。 有没有办法避免这种行为,而不是每次执行事件时都启动对象? 这是第一个名为status的表单,它不是我需要创建的唯一表单,这就是为什么Iam要求。

这不起作用:关闭表单并单击菜单项后,我得到一个引用错误"对象不存在",因此无法访问。

public partial class Main : Form
{
    StatusForm statusForm = new StatusForm();

    public Main()
    {
        InitializeComponent();
        statusForm.MdiParent = this;
    }

    private void statusToolStripMenuItem_Click(object sender, EventArgs e)
    {
        statusForm.Show();
    }

    private void Main_Load(object sender, EventArgs e)
    {
        statusForm.Show();
    }
}

1 个答案:

答案 0 :(得分:2)

如果您使用Close关闭表单,那么在该点之后它将无法使用。你来创建一个新的。

但是,如果您想要一个持久的Form对象,请改为调用Form.Hide。这隐藏了表格,但是打开了#34;。

MSDN也注意到了这一点:

  

在显示为无模式的表单上调用Close方法时   窗口,你不能调用Show方法使表单可见,   因为表格的资源已经发布。隐藏一个   使用Control.Hide方法,然后使其可见,

相关问题