gpt4 book ai didi

C# 为单个事件处理程序动态生成按钮

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:07 25 4
gpt4 key购买 nike

我需要为多个按钮使用单个事件处理程序。我根据数据库查询通过 while 循环生成了这些按钮。我创建了一个方法

void MyButtonClick(object sender, EventArgs e)
{
}

我是 C# 新手。如何将所有按钮的事件绑定(bind)到单个处理程序。

生成按钮的代码:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
try
{
MydbConnection db = new MydbConnection();
MySqlConnection con = db.connection();
MySqlCommand cmd = new MySqlCommand();

cmd.CommandText = "select * from categories where online = 1";
cmd.Connection = con;

MySqlDataReader rd;
con.Open();
rd = cmd.ExecuteReader();

int i = 1;
while (rd.Read())
{
Button btn = new Button();
btn.Name = "btn-" + i.ToString();
btn.Tag = i;
btn.Text = rd.GetString(2).ToString();

btn.Height = 60;
btn.Width = 100;
btn.Location = new Point(900, 60 * i + 10);

this.Controls.Add(btn);
i++;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}

最佳答案

欢迎来到 SO。您可以在 this.Controls.Add(btn);

之前添加它
btn.Click += MyButtonClick;

关于C# 为单个事件处理程序动态生成按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com