C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■87898 / 4階層)  動的に作成した大量のボタンのイベント分岐について
□投稿者/ WebSurfer (1553回)-(2018/07/11(Wed) 19:59:05)
No87891 (なっとう さん) に返信

> 仰る通りFormXは自力で作ります。試行錯誤しながら追加・コピペ・削除を繰り返すと思います。
> 
> >であれば、Form1 のコードにその時に手を加えれば済むことだと思うのですが
> 前に述べたように、条件に応じてボタンのON/OFFが必要になります。
> ON/OFFは設定ファイル等によって制御することになるかもしれません。

上の質問者さんのレスを読むと、私の提案を理解いただけてないような気がしますので補足します。

一番最初の私のレスで、

> Form2 〜 FormX クラスは定義済・ビルド済みで、Button.Name などに応じて当該 Form を 
> new して Show すればいいのであれば、switch 文を使って分ければよさそうな気がします。

と言った switch 文とは以下のようにすることです。

private void Button_Click(object sender, EventArgs e)
{
    Form frm = null;
    switch (((Button)sender).Name)
    {
        case "button2":
            frm = new Form2();
            break;
        case "button3":
            frm = new Form3();
            break;

        // ・・・中略・・・

        case "buttonX":
            frm = new FormX();
            break;
    }
    frm.Show();
}

FormX+1 のコードを自力で書いて追加する際に、上記のコードに case "buttonX+1" ... を 3 行
追加すれば良いはずです。

上記には、

> 条件に応じてボタンのON/OFFが必要になります。

は影響ないはず。また、既存のコード(すでに完成しているのでは?)はほとんど変更せずに済む
はずです。

他の回答者の方の案と比較して、簡単、現実的、保守がしやすいかなどを考えてどうするかを検討す
ることをお勧めします。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: 動的に作成した大量のボタンのイベント分岐について /なっとう 返信無し
 
上記関連ツリー

動的に作成した大量のボタンのイベント分岐について / なっとう (18/07/11(Wed) 09:45) #87881
Re[1]: 動的に作成した大量のボタンのイベント分岐について / WebSurfer (18/07/11(Wed) 11:15) #87884
Re[1]: 動的に作成した大量のボタンのイベント分岐について / 774RR (18/07/11(Wed) 11:48) #87886
  ├ Re[2]: 動的に作成した大量のボタンのイベント分岐について / なっとう (18/07/11(Wed) 11:47) #87885
  │└ Re[3]: 動的に作成した大量のボタンのイベント分岐について / WebSurfer (18/07/11(Wed) 12:07) #87888
  └ Re[2]: 動的に作成した大量のボタンのイベント分岐について / なっとう (18/07/11(Wed) 12:05) #87887
    ├ Re[3]: 動的に作成した大量のボタンのイベント分岐について / なっとう (18/07/11(Wed) 13:44) #87891
    │├ 動的に作成した大量のボタンのイベント分岐について / WebSurfer (18/07/11(Wed) 19:59) #87898 ←Now
    │└ Re[4]: 動的に作成した大量のボタンのイベント分岐について / WebSurfer (18/07/12(Thu) 18:55) #87910
    └ Re[3]: 動的に作成した大量のボタンのイベント分岐につい / PANG2 (18/07/11(Wed) 13:30) #87890
      └ Re[4]: 動的に作成した大量のボタンのイベント分岐につい / PANG2 (18/07/11(Wed) 13:53) #87892
        └ Re[5]: 動的に作成した大量のボタンのイベント分岐につい / なっとう (18/07/11(Wed) 14:01) #87893 解決済み
          └ Re[6]: 動的に作成した大量のボタンのイベント分岐につい / なちゃ (18/07/11(Wed) 14:44) #87894
            └ Re[7]: 動的に作成した大量のボタンのイベント分岐につい / 774RR (18/07/13(Fri) 06:58) #87915
              └ Re[8]: 動的に作成した大量のボタンのイベント分岐につい / なちゃ (18/07/14(Sat) 02:49) #87929
                └ Re[9]: 動的に作成した大量のボタンのイベント分岐につい / shu (18/07/14(Sat) 07:24) #87930

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信