c# - 将变量传递给 .NET 中的事件

标签 c# events

例如,我有一个图片框列表,一旦光标悬停在它们上面就会引发一个事件。 然而,我不仅需要以某种方式引发此事件,还需要传递“i”变量,以便我知道哪个图片框上有光标。

for (int i = 0; i < 25; i++)
{
....
pbList.Add(new PictureBox());

pbList[i].MouseHover += new System.EventHandler(this.beeHideInfo);
                                            //// need to pass "i" here
}

    private void beeShowInfo(object sender, EventArgs e)
    {
        lb_beeInfo.Text = "You are hovering over: "+beeList[i].name;
                                               /// need to get this "i"
    }

有什么想法吗?

最佳答案

您不能将变量传递给事件。

此外,必要的变量已经传递给您:sender

sender 是对引发事件的对象的引用。在您的例子中,它是对引发事件的 PictureBox 的引用。

关于c# - 将变量传递给 .NET 中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4853873/

相关文章:

c# - 进行测验

c# - 在引发事件的方法上编写代码契约

javascript - 需要添加触摸事件吗?

eclipse - 在 Eclipse E4 RCP 中使用/测试事件服务的正确方法

javascript - 组件之间的 React 生命周期事件顺序有哪些保证?

c# - wpf 以编程方式设置排序,以便将标题切换为已排序

c# - 使用 Visual Studio 将图标添加到按钮

c# - 为什么我的 xml 文档被视为一个元素?

c# - Mac 上 Mono 中的 DllImport 出现 DllNotFoundException

Java:过滤掉重复的事件