为动态创建的面板添加鼠标Click Event

dai*_*dai 1 c# winforms

嗨,我正在用C#开发一个Windows窗体应用程序.

我有一个FlowLayoutPanel,在里面我有一个动态的面板列表.如何为FlowLayoutPanel中的面板添加鼠标单击事件?


Thx for this.But我可以调用一些void函数,而不是事件funtion.这样的事情:

private void example(String x)
    {
        label2.Text = x;
    }
Run Code Online (Sandbox Code Playgroud)

小智 8

你可以这样做:

private void attachClickEventHandler()
{
  for (int i = 0; i < 10; i++)
  {
     Panel p = new Panel();
     p.Click+=p_Click;
     flowLayoutPanel1.Controls.Add(p);
  }

// OR

  foreach(Control c in flowLayoutPanel1.Controls)
     if(c is Panel)
        c.Click += p_Click;
}

void p_Click(object sender, EventArgs e)
{
   // do click stuff
}
Run Code Online (Sandbox Code Playgroud)