none
モードレスフォームについて RRS feed

  • 質問

  • Form1がメインフォームで、そこからForm2を
    Form2 form2=new Form2;
    form2.Show();
    とういように表示しました。
    Form2にはボタンやチェックボックスなどのコントロールが配置してあります。
    ここでForm2でのボタンのClickやチェックボックスの変化を呼び出しもとのForm1で処理したいのですがどうすればいいのですか?
    2009年12月6日 13:59

回答

  • Form2でボタンのClickやチェックボックスに変化があったタイミングでイベントを発生させ、それをForm1に通知します。
    Form2のボタンやチェックボックスをそのままForm1に公開しない方が望ましいので、Form2で独自のイベントを定義し、それをForm1に公開すれば良いでしょう。
    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク Pawopewo 2009年12月7日 12:34
    2009年12月6日 14:54
    モデレータ

すべての返信

  • Form2でボタンのClickやチェックボックスに変化があったタイミングでイベントを発生させ、それをForm1に通知します。
    Form2のボタンやチェックボックスをそのままForm1に公開しない方が望ましいので、Form2で独自のイベントを定義し、それをForm1に公開すれば良いでしょう。
    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク Pawopewo 2009年12月7日 12:34
    2009年12月6日 14:54
    モデレータ
  • どうもありがとうございました(^^)
    Form2で
    public event Form1.TheDelegate Button1Click;
    ....
    private void Button1_Click(object sender,EventArgs e{
          Button1Click();
    }

    Form1で
    public delegate void TheDelegate();

    .....
    Form2 f2=new Form2();
    f2.Button1Click=new TheDelegate(this.Form2_Button1Click);
    f2.Show();

    というようにして解決しました
    2009年12月7日 12:38