例如,我有一个图片框列表,一旦光标悬停在它们上面就会引发一个事件。 然而,我不仅需要以某种方式引发此事件,还需要传递“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/