簡體   English   中英

單擊禁用的控件將在C#中調用父事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM