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

わんくま同盟

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

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


■87881 / )  動的に作成した大量のボタンのイベント分岐について
□投稿者/ なっとう (1回)-(2018/07/11(Wed) 09:45:50)

分類:[C#] 

お世話になっております。

VS C# 2017を使用してWindowsフォームアプリケーション開発の練習中です。

List<Button> Btnを宣言し、それぞれのボタンに各種フォームをShowするためのイベントを割り当てたいと考えております。
ボタンの配置についてはFlowLayoutPanelを使用して自動整列させています。

下記のコードでは、どのボタンを押してもForm2しか表示することが出来ませんが、
次のようにして、ボタンの追加と同時にクラスを指定することは可能でしょうか。
AddButton("フォーム1", Form2のクラス)

現在の構文
private List<System.Windows.Forms.Button> Btns = new List<Button>();

private void AddButton(string name, ここにフォームクラスを渡す)
{
var button1 = new System.Windows.Forms.Button();
button1.Location = new System.Drawing.Point(3, 3);
button1.Name = name;
button1.Size = new System.Drawing.Size(75, 23);
button1.TabIndex = 0;
button1.Text = name;
button1.UseVisualStyleBackColor = true;
button1.Click += new System.EventHandler(this.button_Click);
Btns.Add(button1);
this.flowLayoutPanel1.Controls.Add(button1);
}

private void button_Click(object sender, EventArgs e)
{
//↓本当はボタンごとに異なるフォームをShowしたい
var frm = new Form2();
frm.Show();
}

以上、よろしくお願いいたします。

返信 編集キー/


管理者用

- Child Tree -