关闭表单后,我无法再访问它,因为该对象不再存在。 有没有办法避免这种行为,而不是每次执行事件时都启动对象? 这是第一个名为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();
}
}
答案 0 :(得分:2)
如果您使用Close
关闭表单,那么在该点之后它将无法使用。你有来创建一个新的。
但是,如果您想要一个持久的Form
对象,请改为调用Form.Hide
。这隐藏了表格,但是打开了#34;。
MSDN也注意到了这一点:
在显示为无模式的表单上调用Close方法时 窗口,你不能调用Show方法使表单可见, 因为表格的资源已经发布。隐藏一个 使用Control.Hide方法,然后使其可见,