关于C#一个判断窗口显示问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 14:29:13
代码如下:
Form3 f = new Form3();
f.TopLevel = false;
panel1.Controls.Add(f);
f.Show();
怎么判断f已经显示了啊
不然按键事件每次触发 都添加一个

foreach(Control c in panel1.Controls)
if(c.Name == f.Name)
//已显示
else
//没 显示

不过好像panel中不可以加form,除非自定义owner-draw

林翠萍

是MDI窗体的话推荐改写自窗体,做成单态.....效果很好

public partial class frmInput : Form
{
private static frmInput fi;
private frmInput()
{
InitializeComponent();
}

new public static void ShowDialog()
{
if (fi == null || fi.IsDisposed)
{
fi = new frmInput();
}
fi.Show();
fi.Activate();
}

public static void ShowDialog(Form mdiParent)
{
if (fi == null || fi.IsDisposed)
{
fi = new frmInput();
}
fi.MdiParent = mdiParent;
fi.Show();
fi.Activate();
}