我使用c#.net做窗口应用程序。
我有一个带有菜单条的表单名称form_1。
从form_1的菜单条中,我打开相同的form_1形式并在使用后关闭相同的form_1但如果我第二次点击它没有显示,如果我第三次点击它显示。
编辑:
的MainForm
form fm;
bool frm= false;
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
if (frm== false)
{
fm= new form();
fm.MdiParent = this;
fm.Show();
frm= true;
}
else
{
if (fm.IsDisposed)
{
frm= false;
}
}
}
形式
form fm = new form();
fm.MdiParent = this;
fm.Show();
this.Close();
答案 0 :(得分:1)
如果您希望自己的函数addToolStripMenuItem_Click
始终打开fm
(假设它已被处理),那么在else条件下您也需要fm.show()
。你可以尝试这样的事情......
private void addToolStripMenuItem_Click(object sender, EventArgs e)
{
if (!frm || fm.IsDisposed)
{
if (fm != null && fm.IsDisposed) { frm = false; }
fm = new form();
fm.MdiParent = this;
fm.Show();
frm = true;
}
}
这可能会让你的bool frm
过时,但是如果你将它用于别的东西,我就把它留下来。