2

Form1 と Form2 の 2 つのフォームがあり、Form1 で Form2.BringToFront() を呼び出すたびに Form2 で何かをしたいと考えています。

class Form1 : Form
{
    button1_MouseClick()
    {
        Form2.BringToFront();
        // trigger an event an do something in Form2 
    }
}

class Form2 : Form
{
    UnknownEvent_EventHandler()
    {
        //do something
    }
}

しかし、BringToFrontMethod のドキュメントには、このメソッドがトリガーするイベントは記載されていません。

Form2 でパブリック メソッドを作成して呼び出したくないことに注意してください。

4

3 に答える 3

5

私が知っている直接のイベントは発生しませんが、Activation(focus) が変更された結果、Form.Activated イベントが発生します。コードのドキュメントはこちらにあります。ここに小さなサンプルコードがあります:

private void Form1_Activated(object sender, System.EventArgs e)
{
   //What do you want to happen?
}

これが役立つ場合は、必ず回答としてマークしてください。

于 2012-12-28T03:11:23.217 に答える
0
 Form2 form2 = new Form2();
        private void button1_Click(object sender, EventArgs e)
        {
            form2.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.OpenForms["Form2"].BringToFront();
        }
于 2012-12-28T03:31:32.673 に答える