私はc#を使用してwinformsアプリケーションに取り組んでいます。左側にメニューがあるMDIコンテナがあり、ボタンを押すと適切なフォームが表示されます。たとえば、Form1を開くボタンを3回クリックすると、フォームの6つのインスタンスが開きます。したがって、他のForm1インスタンスを破棄するメソッドを作成する必要があると思いました。次の方法では、MDIの子をループしていますが、新しいインスタンスを除く他のすべてのインスタンスを閉じる方法について助けが必要です。
public void DisposeAllButThis(Form form)
{
foreach (Form frm in this.MdiChildren)
{
if (frm == form)
{
frm.Dispose();
return;
}
}
}