概要:
他のフォームをロードする MDI 親フォームがあります。2 番目のフォームを読み込んだ後、最初のフォームを前面に表示できなくなりました。
説明:
親フォームには、2 つのメニュー項目を含むメニュー ストリップがあります。ホームと検索。各クリック イベントは、フォームが既に読み込まれていない限り、対応するフォームを読み込みます。
問題:
を。[検索] をクリックします。次に、[ホーム] をクリックします。
b. 検索をもう一度クリックすると、対応するすでに開いているフォームが前面に表示されなくなります。
private void tsmHome_Click(object sender, EventArgs e)
{
// Loop through all open forms...
foreach (Form form in Application.OpenForms)
{
// If frmHome is Opened, set focus to it and exit subroutine.
if (form.GetType() == typeof(frmSearch))
{
form.Activate();
return;
}
}
// If frmHome is not Opened, create it.
frmHome f = new frmHome();
f.MdiParent = this;
f.Show();
}
private void tsmSearch_Click(object sender, EventArgs e)
{
// Loop through all open forms...
foreach (Form form in Application.OpenForms)
{
// If frmSearch is Opened, set focus to it and exit subroutine.
if (form.GetType() == typeof(frmSearch))
{
form.Activate();
return;
}
}
// If frmSearch is not Opened, create it.
frmSearch f = new frmSearch();
f.MdiParent = this;
f.Show();
}