C# 查找打开的窗口
同属于一个应用程序的好多窗口,要想限定一个窗口只打开一次,如果打开的话就激活,使用下面的代码
如果是在MDI父窗口中打开好多子窗口,查找子窗口的代码:
foreach (Form chform in this.MdiChildren)
{
if (chform.Text == "子窗口的标题")
{
chform.Activate();
Isfind = true;
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
}
1
private void button1_Click(object sender, EventArgs e)
2
{
3
bool isfind = false;
4
foreach (Form fm in Application.OpenForms)
5
{
6
if (fm.Name == "Form2") { fm.Activate(); fm.WindowState = FormWindowState.Normal; return; }
7
}
8
if (!isfind) { Form fm = new Form2(); fm.Show(); }
9
10
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
6
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
8
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
如果是在MDI父窗口中打开好多子窗口,查找子窗口的代码:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)