私はC#を初めて使用しており、Windowsフォームを使用しています。C#でフォームが非表示になるまで処理コードを一時停止するには?
私はform1
とform2
を持って、私が表示され、以下のようform1
からform2
を隠す:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Form2 frm2 = new Form2();
private void button_showForm2_Click(object sender, EventArgs e)
{
frm2.Show();
//I want to show the following message once form2 hides:
MessageBox.Show("Form2 is hidden. Continue processing next line of code");
}
}
をForm2のでは:
private void button_HideForm2_Click(object sender, EventArgs e)
{
Hide();
}
私は上記のコードを実行し、form2
を表示すると、form2
が現れます同時にmessageBox
と入力してください。 ShowDialog()
は、子フォームを閉じるまでプログラムフローを保持しているので、Show()
メソッドを使用すると、プログラムフローを保持せずに次のコード行を実行し続けるためです。私が何をしたいか
は(私がShowDialog()
を使用したくない)です:私はform2
を表示したいとあなたがそれを使用して終了し、それを隠すとき、私はときform2
皮革(form1
に)上記のメッセージを表示したいです。
どうすればいいですか?大いに感謝する。
は、なぜあなたは 'にShowDialog()'を使用したくありませんか?あなたのシナリオに合わせて、おそらく最も簡単な解決策です。 –
@ Martin Parkin。知っている。なぜなら私はForm2にMs MapPointを持っており、ShowDialog()を使うとmappointが失敗し、代わりにshow()を使わなければならないからです。 – Kate
あなたは非常にバグの多いコードを書いていますが、試行錯誤してWinformsのプログラミングを実際に学ぶことはできません。入門書や*本当に良いチュートリアルを必ず読んでください。そのような本は確かにFormClosingイベントと、あまりにも多くのウィンドウでUIを作成しないようにする方法について教えてくれるでしょう。 –