我想在按钮上创建click事件(2个按钮在运行时创建)
我用它来创建按钮:
private void Form1_Load(object sender, EventArgs e)
{
for (int k = 0; k < 2; k++)
{
Button Btn = new Button();
Btn.Name = "btn" + k;
Btn.Location = new System.Drawing.Point(20 + (k *110), 60 + (20 * j) * 2);
Btn.Size = new System.Drawing.Size(90, 30);
if (k == 0)
Btn.Text = "Back";
else
Btn.Text = "Calculate";
this.Controls.Add(Btn);
}
}
先谢谢。
答案 0 :(得分:2)
只需使用:
Btn.Click += button1_Click;
private void button1_Click(object sender, EventArgs e)
{
}
答案 1 :(得分:2)
像这样增强你的循环:
for (int k = 0; k < 2; k++)
{
Button Btn = new Button();
Btn.Name = "btn" + k;
Btn.Location = new System.Drawing.Point(20 + (k *110), 60 + (20 * j) * 2);
Btn.Size = new System.Drawing.Size(90, 30);
if (k == 0)
Btn.Text = "Back";
else
Btn.Text = "Calculate";
Btn.Click += button_Click; // <-- This is where it happens!
this.Controls.Add(Btn);
}
然后添加事件处理程序:
private void button_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
if (btn.Name.Equals("..."))
{
}
else
{
}
}
请注意,在事件处理程序中,您需要通过查看Name
属性来决定按下了哪个按钮。
答案 2 :(得分:1)
喜欢这个
btn1.Click += new EventHandler(this.btn1_Click);
答案 3 :(得分:1)
Btn.Click += Btn_Click;
void Btn_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
在VS中,您可以按两次按下Btn.Click +=
按钮,它会为您生成方法。