【发布时间】:2017-01-16 03:44:46
【问题描述】:
当我的鼠标指向 C# 中的另一个按钮时,我想禁用其他按钮
private void Form1_Load(object sender, EventArgs e){
foreach (Button btn in Controls.OfType<Button>())
{
btn.MouseEnter += new System.EventHandler(btn_MouseEnter);
btn.MouseLeave += new System.EventHandler(btn_MouseLeave );
}
}
private void btn_MouseEnter(object sender, System.EventArgs e)
{
var senderButton = (Button)sender;
senderButton.Enable = true; // not working
}
private void btn_MouseLeave (object sender, System.EventArgs e)
{
var senderButton = (Button)sender;
senderButton.Enable = false; // not working
}
【问题讨论】:
-
所以.. 你想禁用除当前悬停按钮之外的所有其他按钮吗?
-
您发布的代码试图禁用和重新启用 current 按钮,而不是 other 按钮。
-
您的 btn_MouseEnter 事件只会在您的按钮启用时触发
-
你的问题让我想知道你为什么要这样做...如果鼠标悬停在按钮 x 上,你将永远没有机会点击其他地方?
-
这只是一个测试运行,以了解这些方法是否有效。