即使從.NET 2.0 TextBox控件中捕獲MouseDown是否有任何方法? 我知道繼承的Control類有事件,但它不在TextBox中公開。 有沒有辦法來重寫事件處理程序?捕獲.NET TextBox的MouseDown事件
我也嘗試了OpenNETCF TextBox2控件,它確實暴露了MouseDown事件,但無論我做什麼,它都不會觸發處理程序。
有什麼建議嗎?
什麼樣的瘋狂的移動設備做 你必須有一個老鼠? :)
是的,Windows Mobile沒有一個實際的鼠標,但你誤以爲Windows Mobile .NET不支持鼠標事件。點擊或在屏幕上移動仍被視爲「鼠標」事件。這樣做是爲了讓代碼可以輕鬆地從完整的Windows移植過來。這不是Windows Mobile的特定問題。 Windows上的TextBox控件也沒有本地鼠標事件。在這種情況下,我碰巧正在使用Windows Mobile。
編輯:另外,由於Windows Mobile是由WindowsCE內核構建的,通常用於嵌入式桌面系統和Slim Terminal Services客戶端或「WinTerms」,它支持硬件鼠標,很長時間。大多數設備根本沒有插上一個在港口。
據.Net框架中, mouseDown事件處理上的一個TextBox 支持。當您嘗試運行代碼時,會發生什麼情況?
其實,那只是因爲有它繼承了它從「控制」一樣,每其他窗體控件。然而,它在TextBox類中被覆蓋(並且改變爲private我相信)。所以它不會在Visual Studio中的IntelliSense中顯示。
然而,實際上,你可以寫代碼:
textBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.textBox1_MouseDown);
,它會編譯和運行得很好,唯一的問題是,當您點擊TextBox控件textBox1_MouseDown()不會被解僱。我認爲這是因爲內部重寫事件。我甚至不想在內部改變事件的發生,我只想添加我自己的事件處理程序到該事件中,以便我可以像任何其他事件一樣激發一些自定義代碼。
你有什麼樣的瘋狂的移動設備中,有一個老鼠? :)嚴重的是,沒有MouseDown事件的原因是因爲Windows Mobile沒有鼠標。你想在MouseDown事件處理程序中做什麼?也許有另一種方式。 – ageektrapped 2008-08-11 12:46:25