我试图做一个控件在运行时(不是一个,“n”在运行时控制) 但现在我想为每个单一控件创建事件 我做了一个,但它只是为我在运行时创建的最后一个控件 如何为每个控件创建事件?事件为运行时控件在c#
private void CreateRuntimeControl(PictureBox pic)
{
lbl = new Label();
number++;
locationX = locationX + 20;
locationY = locationY + 20;
lbl.Name = number.ToString();
lbl.Size = new System.Drawing.Size(30, 20);
lbl.Location = new System.Drawing.Point(10 + locationX, 10 + locationY);
lbl.Text = number.ToString();
lbl.BackColor = Color.Gray;
pic.Controls.Add(lbl);
lbl.MouseDown += lbl_MouseDown;
}
和事件
private void lbl_MouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show(lbl.Name);
}
问候
尝试lbl.MouseDown + = lbl_MouseDown; – noMad17
你是什么意思?你能解释一下吗? – Salmani
您不应该每次都实例化一个新的EventHandler,而只需订阅您已拥有的那个。 – noMad17