我正在開發自定義控件並意識到我的代碼正在運行兩次。這不是一個真正的問題(它只是一個Focus方法調用)。不過,我想了解它。正確使用OnClick和MouseClick事件在Windows Forms應用程序中使用C#
通過閱讀MSDN description for click | onclick event,它指出:
觸發,當用戶點擊在物體上的鼠標左鍵。
因此,我添加了OnClick事件和MouseClick事件來處理左側和右側單擊。但在調試代碼後,我發現OnClick處理左右兩個事件。
爲什麼OnClick會同時處理這兩個事件,並且出於某種原因,我忽略了這兩個事件嗎?
protected override void OnClick(EventArgs e)
{
this.Focus();
base.OnClick(e);
}
private void CustomControl_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
rightClickMenu(e);
}
}
你爲什麼要在Focus中點擊鼠標?此外,您的鏈接引用html元素點擊事件&不適用於winforms。 – shahkalpesh 2009-06-01 20:21:39
我認爲這是自定義控件所必需的。如果沒有,我會研究,看看它什麼時候發生。或者,如果我甚至必須自己打電話。 AHHH沒有收到鏈接上的html元素...我現在感覺大約2英寸高!謝謝您的幫助! – Billy 2009-06-01 20:28:12
在Windows窗體中,有兩種不同的處理點擊事件的方法:MouseClick和Click。 – 2011-02-27 03:34:41