我使用 c#.net 2.0 和 oracle 10g 做窗口应用程序
我有一个带有 menustrip 的表单名称 FORM1
从 FORM1 的菜单条中,我正在打开另一个表单 FORM2 并在使用后关闭同一个 FORM2 但如果我第二次单击它,它不会显示
我还添加了代码,如果用户在关闭同一个 FORM2 之前第二次按下相同的 menustrip 按钮,它不应该打开并将已经打开的 FORM2 聚焦
编辑::
第一次尝试 -----------------
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
FORM2 f2 = Application.OpenForms["FORM2"] as FORM2 ;
if (f2 != null)
{
f2 .WindowState = FormWindowState.Normal;
f2 .BringToFront();
f2 .Activate();
}
else
{
f2 = new FORM2();
f2.Show();
}
}
第二次尝试 - - - - - - -
private void FORM2_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
e.Cancel = true;
}
使用此代码,当用户多次单击菜单条时,我可以多次打开相同的 FORM2 .. 我不希望这种情况发生
第三次尝试------------
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
FORM f2 = new FORM2();
f2.Show();
}
此代码也与第二次尝试相同
第四次尝试 --------------
private FORM2 f2 = null;
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
if (f2 == null)
{
f2 = new FORM2();
}
f2.Show();
f2.Activate();
}
我已经尝试了上述所有编码,但无法得到我所期望的..你们能找出并帮助我我在这里缺少什么..