2011-05-27 120 views
1

我想要取消鼠標點擊,鼠標移動或鼠標移動,即使它發生在我的.NET控件上。有什麼辦法可以取消鼠標點擊事件

我希望在EventArgs會有一個取消參數,但我在TreeView.BeforeCheck中看不到一個。

有沒有另一種方法可以做到這一點或我應該聽的另一個事件?

+0

我問這個是因爲我有這一個問題的原因,顯然是在TreeView一個錯誤:http ://social.msdn.microsoft.com/Forums/en-US/winforms/thread/9d717ce0-ec6b-4758-a357-6bb55591f956/ – 2011-06-03 14:30:05

回答

6

只是重寫處理程序,不要調用基類函數。

0

一個簡單的解決辦法是剛殺的焦點,剛剛創建自己的類:

public class ViewOnlyTextBox : System.Windows.Forms.TextBox { 
    // constants for the message sending 
    const int WM_SETFOCUS = 0x0007; 
    const int WM_KILLFOCUS = 0x0008; 

    protected override void WndProc(ref Message m) { 
     if(m.Msg == WM_SETFOCUS) m.Msg = WM_KILLFOCUS; 

     base.WndProc (ref m); 
    } 
} 
相關問題