3
private void createButton()
{
    flowLayoutPanel1.Controls.Clear();

    for (int i = 0; i < 4; i++)
    {    
        Button b = new Button();
        b.Name = i.ToString();
        b.Text = "Button" + i.ToString();
        flowLayoutPanel1.Controls.Add(b);
    }

}
private void button1_Click(object sender, EventArgs e)
{
    createButton();
}

このコードを使用してランタイムにいくつかのボタンを作成しましたが、これらの作成されたボタンを使用して異なるアクションを実行するにはどうすればよいですか? 私はこれに慣れていないので、私を助けてください、とても感謝しています:)

4

3 に答える 3

1

ボタンを作成するときは、次のClickようにイベントをサブスクライブする必要があります。

Button b = new Button();
b.Click += new EventHandler(b_Click);
// or
b.Click += b_Click;
// or
b.Click += delegate(object sender, EventArgs e) {/* any action */});
// or
b.Click += (s, e) => { /* any action */ };

void b_Click(object sender, EventArgs e)
{
    // any action
}

これは、あなたが Visual Studio のデザイナーであり、メソッドを作成するボタンをクリックすると自動的に実行されるものですbutton1_Click
フォームの Designer.cs を検索すると、同等の行が見つかります。

button1.Click += new EventHandler(button1_Click);

関連する質問:

于 2013-04-18T13:40:53.870 に答える