我正在将VisualStudio 2013与C#一起使用,并且对于这种环境和语言还很陌生,所以如果这是一个愚蠢的问题,请多多包涵。
我有一组位于面板上的按钮。所有按钮都有onClick事件以及按钮所在的面板。如果启用了按钮,则按预期调用按钮事件处理程序。然而; 如果未启用该按钮,则将调用面板的onclick事件处理程序。
在我以前的C#Windows编程经验中,单击禁用按钮对运行的程序没有影响。这是怎么回事,如何避免触发父母事件?
您可以通过以下方式检测到它:
panel.Click += delegate {
var l = Cursor.Position;
l = panel.PointToClient(l);
var c = panel.GetChildAtPoint(l);
if (c == null) {
// good
}
else {
// ignore (disabled control)
}
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句