我想为禁用的按钮注册 MouseEnter/MouseLeave 事件。尽管它确实适用于已启用的按钮,但它不起作用。
//Enable Disable controls on form load
EnableDisableControls("Load");
var grupButtons = control.Controls.OfType<Button>();
foreach (Button btns in grupButtons)
{
//btns.MouseMove += new MouseEventHandler(MainframeDataExchangeTool_MouseMove);
btns.MouseEnter += new EventHandler(btns_MouseEnter);
btns.MouseLeave += new EventHandler(btns_MouseLeave);
}
private void btns_MouseEnter(object sender, EventArgs e)
{
}
private void btns_MouseLeave(object sender, EventArgs e)
{
var parent = sender as Control;
string tipstring = string.Empty;
if (parent == null)
{
return;
}
string enter = sender.GetType().ToString() + ": MouseEnter";
}
它适用于启用按钮...但是禁用按钮该怎么办...我必须在 mouseenter 上显示工具提示操作并使其在 mouseleave 上立即消失?
是的,当您禁用按钮时,事件将被禁用。
你可以使用这个技巧:
put your button in panel1 ,
然后对 panel1 使用相同的按钮事件。像这样:
btns.MouseEnter += new EventHandler(btns_MouseEnter);
btns.MouseLeave += new EventHandler(btns_MouseLeave);
panel1.MouseEnter += new System.EventHandler(btns_MouseEnter);
panel1.MouseLeave += new System.EventHandler(btns_MouseLeave);
它会起作用的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)