こんにちは、c# で簡単なアクティビティを行っています。ボタンを使用して新しいフォーム2を開きたいのですが、そのボタンを押すとフォーム1が自動的に閉じます。私のコードは次のとおりです。
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
今、フォーム1を自動的に閉じるためにどの方法を使用するのかわかりません。ありがとうございました..
こんにちは、c# で簡単なアクティビティを行っています。ボタンを使用して新しいフォーム2を開きたいのですが、そのボタンを押すとフォーム1が自動的に閉じます。私のコードは次のとおりです。
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
今、フォーム1を自動的に閉じるためにどの方法を使用するのかわかりません。ありがとうございました..
コード制御が で停止するため、機能しませんform2.ShowDialog();
。
非モーダルな方法で form2 を表示する必要があります。
Form2 form2 = new Form2();
form2.Show();
this.Close();
または、フォームを非表示にすることで偽造できると思います。
Form2 form2 = new Form2();
this.Visible = false;
form2.Show();
this.Visible = true;
両方のバージョンを試して、どちらが状況に適しているかを確認してください。呼び出すShowDialog();
と、フォームがモーダルとして表示され、ユーザーのマウス/キーボード入力はすべて、フォームを閉じるまで form2 に制限されます。
編集: Form2 はメンバー変数として宣言する必要があります。ボタン イベントで宣言すると範囲外になります。
Form2 form2 = new Form2();
private void btnOK_Click(object sender, EventArgs e)
{
this.Visible = false;
form2.Show();
this.Visible = true;
}
this.Close();
useを使用する代わりに、 give this.Hide()
の on formclose イベントを使用します。Form2
form1.Show()
詳細については、このリンクを参照してください(以前にこの質問をしました)。