我在c#中有一个Windows窗体,当用户点击其边界之外的任何地方时,它应该关闭,例如:
.collapsible-header.active i.more{
display:none;
}
.collapsible-header.active i.less{
display:block;
}
.collapsible-header i.less{
display:none;
}
我的问题是,我还想捕获导致表单停用的click事件,但是使用上面的代码我的应用程序中其他表单上的鼠标事件处理程序永远不会被调用。
例如,我在应用程序中的第二个可见表单上有一个单击处理程序:
form1.Deactivate += (o, e) => form1.Close();
正常情况下,如果用户在form1处于活动状态时单击form2,OnForm2Click会被调用,但是使用上面的close-on-deactivate代码,OnForm2Click永远不会被调用(这对我来说有点奇怪,因为双击处理程序只是被调用细)。
我无法在form2.MouseClick += OnForm2Click
内拨打form1.Close()
作为解决方案,因为form2没有引用OnForm2Click()
。
提前感谢您的解决方案。