在我的例子中,我有面板,但为了清楚起见,我将在示例中使用按钮。
我有 5 个(或更多)按钮,我为所有五个按钮设置了一个事件,例如 - OnMouseHover。如果所有事件都链接到一个方法,我如何获得鼠标悬停在哪个按钮上
为了捕获鼠标悬停的按钮,我尝试使用“this”,但它链接到表单本身。
private void buttonX_MouseHover(object sender, EventArgs e)
{
this.Text = "Test";
}
我希望鼠标悬停在指定按钮上的文本将其文本更改为“测试”,但它发生在表单上。仅文本。
在我的真实程序中,我有 60 个面板,我再次对其中任何面板上的所有 OnMouseHover 事件使用一种方法。如何获取鼠标悬停的面板(或上例中的按钮)?
最佳答案
this
始终引用类实例(表单)。您需要转换发件人:
((Control)sender).Text = "Test";
发送者(通常)是引发事件的实例 - 在多个控件中使用相同的处理程序时很有用。
关于c# - 如何正确使用 "this"访问表单控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031746/