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

わんくま同盟

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

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

■87892 / 4階層)  動的に作成した大量のボタンのイベント分岐につい
□投稿者/ PANG2 (221回)-(2018/07/11(Wed) 13:53:54)
2018/07/11(Wed) 14:00:17 編集(投稿者)
リフレクションを使わない方法

public interface IFormMaker {
	Form Make();
}

public class FormMaker<T> : IFormMaker where T : Form, new() 	
{
	public Form Make()
	{
		return new T();
	}
}

Dictionary<Button, IFormMaker> Btns = new Dictionary<Button, IFormMaker>();
Btns.Add(btn1, new FormMaker<Form1>());
Btns.Add(btn2, new FormMaker<Form2>());


private void button_Click(object sender, EventArgs e)
{
	IFormMaker maker = Btns[(Button)sender];
	Form frm = maker.Make();
	frm.Show();
}

---
追記
あるいは、辞書化せずに

private void AddButton<T>(string name) where T : Form, new()
{
	var button1 = new System.Windows.Forms.Button();
	button1.Click += delegate {
		Form form = new T();
		form.Show();
	};
}

編集キー/

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

動的に作成した大量のボタンのイベント分岐について / なっとう (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
    │├ Re[4]: 動的に作成した大量のボタンのイベント分岐について / WebSurfer (18/07/11(Wed) 19:59) #87898
    │└ Re[4]: 動的に作成した大量のボタンのイベント分岐について / WebSurfer (18/07/12(Thu) 18:55) #87910
    └ Re[3]: 動的に作成した大量のボタンのイベント分岐につい / PANG2 (18/07/11(Wed) 13:30) #87890
      └ 動的に作成した大量のボタンのイベント分岐につい / PANG2 (18/07/11(Wed) 13:53) #87892 ←Now
        └ 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

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