我有一组面板控件,它们以编程方式放置在我的表单中的不同位置。下面您可以看到,当我循环遍历并增加 I
时,所有面板都注册了相同的事件处理程序。这对我来说很好,但我无法在事件处理程序代码中找到一种方法来判断哪个面板触发了事件。我尝试使用 sender
但我似乎无法弄清楚如何使用它。所以我的问题是如何在事件处理程序代码中判断哪个面板触发了事件
Panels[i].Click += new EventHandler(AllPanels_Click);
void AllPanels_Click(object sender, EventArgs e)
{
//need logic code here!
}
最佳答案
首先将sender
转换为Panel
:
void Form1_Click(object sender, EventArgs e)
{
Panel clickedPanel = sender as Panel;
if (clickedPanel != null)
{
// do something with clickedPanel
}
}
关于c# - 如何判断哪个面板触发了点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13596409/