C# 无法在c中添加按钮单击事件#
我有一段代码,它从foreach循环中生成一些按钮C# 无法在c中添加按钮单击事件#,c#,C#,我有一段代码,它从foreach循环中生成一些按钮 Controls.Button btn = new Controls.Button(); btn.button1.Text = "Details"; btn.Location = new Point(200, cnt); panel1.Controls.Add(btn); 当我尝试这个后,它不起作用 private void button1_Click(object sender,EventArgs e) { MessageBox.S
Controls.Button btn = new Controls.Button();
btn.button1.Text = "Details";
btn.Location = new Point(200, cnt);
panel1.Controls.Add(btn);
当我尝试这个后,它不起作用
private void button1_Click(object sender,EventArgs e)
{
MessageBox.Show("");
}
有什么想法吗
Controls.Button btn = new Controls.Button();
btn.ID= "ID" + counter;
btn.button1.Text = "Details";
btn.Location = new Point(200, cnt);
btn.Click += button1_Click;
panel1.Controls.Add(btn);
你应该这样写!请注意,在这种情况下,foreach方法中的所有按钮都将具有相同的Click事件处理程序。这将是很好的,有ID+计数器的按钮,使他们有所不同
private void button1_Click(object sender,EventArgs e)
{
string id= ((Button)sender).ID;
if(id == "value")
{
}
else if(id == "another value")
{
MessageBox.Show("");
}
}
你说不工作是什么意思?
button1
定义了吗?是的,我想是的,它出现在我的表格中已经回答了,你需要订阅buttonClicked事件。您处理事件,因此您的方法(button1\u Click)是一个eventhandler。在查看参数时,您可以很容易地识别出这一点,这些参数对于EventHandler非常常见。@Perf问题是您没有共享所有代码,或者您没有事件处理的概念butten是一个UserControl项,所以我应该在UserControl中更改它吗?