检测鼠标单击控件数组

Way*_*aud 1 c# windows-forms-designer

我在运行时向表单添加一个Panel对象数组(后面又包含其他项).然后,我将循环中的每个面板分配一个click事件,如下所示:

pnlInstrument[index].Click += pnlInstrument_Click;
Run Code Online (Sandbox Code Playgroud)

空单击功能如下所示:

private void pnlInstrument_Click(object sender, EventArgs e)
{

}  
Run Code Online (Sandbox Code Playgroud)

事件正确触发,但如何判断单击了哪个面板?

Qui*_*son 5

使用sender事件方法的参数..

private void pnlInstrument_Click(object sender, EventArgs e)
{
    Panel panel = (sender as Panel); //This is the panel.
}
Run Code Online (Sandbox Code Playgroud)

编辑: 获取索引的评论..

private void pnlInstrument_Click(object sender, EventArgs e)
{
    Panel panel = (sender as Panel); //This is the panel.
    int panelIndex = Array.IndexOf(pnlInstrument, panel);
}    
Run Code Online (Sandbox Code Playgroud)