1

アクティブなフォームを閉じた後にフォームで実行する特定の関数または関数が必要な C# アプリケーションがあります。

コードを実行する必要があるフォームは、前のアクティブなフォームが閉じられた後にアクティブなフォームになります。つまり、このフォームを閉じると、実行するイベント ハンドラーまたは関数が必要なフォームがアクティブなフォームになります。これが可能な方法はありますか?

他のフォームが閉じられた後にアクティブになるフォームで Form_Enter イベント ハンドラーを試しましたが、うまくいきませんでした。

4

2 に答える 2

1

やろうとしていることは、もっと簡単に達成できると思います。Form1 (メイン) から Form2 を表示するために使用するコードは、次のようにコードを追加できます。

Class Form1 {
    private void button_click(object sender, EventArgs e) {
        Form2  newForm = Form2();
        newForm.ShowDialog(); // To prevent the main form carry on
        // Your code needed to be excuted
    }
}
于 2013-06-18T13:45:19.330 に答える
1

フォームを閉じるイベントで、DialogResult を次のように設定します。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    this.DialogResult = System.Windows.Forms.DialogResult.Yes;
}

フォームを開くと、次のような応答が表示されます。

if (Form1.ShowDialog() == DialogResult.Yes)
{
    ////do stuff.
}

これが役立つことを願っています。

于 2013-06-18T13:45:34.197 に答える