当我们在父窗体中点击一个按钮,会出现一个子窗体,又或者当点击另一个标签,也会弹出与之前相同的子窗体。要保证两次点击弹出的是一个窗体,要使用以下的方法,注意弹出窗体的时候不能用ShowDialog方法,必须用Show方法。下边是具体代码。
private static NewForm newForm;
///
/// 防止子窗口重复出现
/// 此处不用ShowDialog,因为那样使父窗口不可用,会有很多限制与不方便;
/// 本例关键是定义一个子窗口的全局变量,并作判断
///
///
///
private void btnNewForm_Click(object sender, EventArgs e)
{
if (newForm == null || newForm.IsDisposed)
{
newForm = new NewForm();
newForm.Show();
}
else
{
newForm.WindowState = FormWindowState.Normal;
newForm.Activate();
}
}