私は多くの経験がないので、もっと勉強するためにWin Formsアプリケーションを作っています。私のプログラムでは、メインフォームにボタンがあります。それをクリックすると別のフォームが起動します。新しいフォームが起動されたときに新しいフォームが閉じられるまで実行を一時停止できますか?
private void btn_AddCat_Click(object sender, EventArgs e)
{
this.Invoke(new MethodInvoker(() =>
{
form_NewCat NewCatForm = new form_NewCat();
NewCatForm.Show();
}));
MessageBox.Show("Oops!");
}
問題がある、私は新しいフォームが閉じられるまで、その時点で一時停止するには、メインフォームの背後にあるコードの実行を望んで次のようにコードがあります。例として、上記のコードでは、私は「おっと」したくありません。新しいフォームが閉じられるまで印刷されます。それをどうすれば実現できますか?
感謝が必要だと思います。私はあなたのソリューションを実装します。 – xbonez
私は、イベントハンドラを正確にあなたが示したものに変更しました。新しいフォームにはキャンセルボタンがあります。キャンセルボタンのイベントハンドラはthis.Close()を実行します。しかし、キャンセルボタンを押すと、フォームが消えてから再び表示されます。再度キャンセルを押すとフォームが閉じます。どうしてこんなことに?私の新しいフォームが2回表示されています。 – xbonez
@xbonez、奇妙な、フォームを示す他のコードがないのは確かですか?コンストラクタのように? –