アプリケーション設定では、シャットダウンモードを定義できます(メインフォームを閉じるか、最後のフォームを閉じる)。最後のフォームで閉じるように設定してみてください。
アップデート:私はちょうどそれを自分自身と別の形でも、私が思う仕様ですダイアログ自体を、閉じて上にShowDialog()を呼び出して、呼び出し元を閉じる(フォームを試してみました
をしかし、このコードを使用して、私は。ダイアログを作成することができ、発信者を閉じて、ダイアログがまだ存在している:
// inside formA
private void button2_Click(object sender, EventArgs e)
{
var owner = new Form();
var dialog = new FormB();
// attach to the dialog.button1.Click event to force a close
// of the current formA instance.
// button1.modifiers has (at least) to be set internal
dialog.button1.Click += (x, y) => this.Close();
dialog.ShowDialog(owner);
dialog.Dispose();
owner.Dispose();
}
を今、私はFormBでボタン1をクリックすると、フォームAが閉じ、フォームBはまだ存在 フォームAがMainFormをでない
両方です。別々にProgram.csで作成されます。お互いに関連しています。 – abhinavp
@abhinavp ShowDialogメソッドのどのバージョンをShowDialogまたはShowDialog(this)を使用していますか? –
@ mark-hall私はShowDialog()を使用しています。 – abhinavp