[英]Clicking on a disabled control is calling the parent event in C#
我正在將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)
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.