我有一個.NET UserControl(FFX 3.5)。此控件包含多個子控件 - 一個面板,一對標籤,一對文本框以及另一個自定義控件。我想在基本控件的任何地方處理右鍵單擊 - 所以右鍵單擊任何子控件(或面板情況下的子控件的子控件)。我希望這樣做,以便可以維護,例如,如果有人對控件進行了更改,而無需爲處理新控件而聯絡處理程序。處理表單上的所有控件
首先我嘗試覆蓋WndProc,但正如我懷疑的那樣,我只直接在窗體上獲取消息,而不是其任何子項。作爲一個半劈,我添加的InitializeComponent後執行以下操作:
foreach (Control c in this.Controls)
{
c.MouseClick += new MouseEventHandler(
delegate(object sender, MouseEventArgs e)
{
// handle the click here
});
}
這現在得到了支持事件的控制,但標籤點擊,例如,仍然沒有得到任何東西。有沒有簡單的方法來做到這一點,我忽略了?
所以很明顯,我看不到森林的樹木。謝謝。 – ctacke 2008-10-29 19:54:34