MDI 子フォームを開く MDI 親フォームがありますが、別の時間にクリックしても再度開きたくありません。代わりに、既に開いている特定の mdi 子フォームに焦点を合わせたいのですが、メニューストリップをクリックしてこの仕事をしています。私はすでにこれを成功させるために多くのことを試みましたが、常に失敗しました。私のコードは次のとおりです。
これはメソッドです...
private bool CheckMdiClientDuplicates(string WndCls)
{
Form[] mdichld = this.MdiChildren;
if (this.MdiChildren.Length == 0)
{
return true;
}
foreach (Form selfm in mdichld)
{
string str = selfm.Name;
str = str.IndexOf(WndCls).ToString();
if (str != "-1")
{
return true;
}
}
return false;
}
そして、私はこの方法を次の方法で実装しています...
private void myToolStripMenuItem_Click(object sender, EventArgs e)
{
MyForm f = new MyForm();//MyForm is the form on which i am working
if (CheckMdiClientDuplicates("MyNamespace.MyForm") == true)
{
f.MdiParent = this;
f.Show();
}
else
{
f.Activate();
f.BringToFront();
}
}