Există vreo modalitate de a captura MouseDown chiar și de la controlul .NET 2.0 TextBox?
Știu că clasa de control moștenită are evenimentul, dar nu este expusă în TextBox.
Există o modalitate de a suprascrie procesorul de evenimente?
Am încercat, de asemenea, controlul OpenNETCF TextBox2 care are expus evenimentul MouseDown, dar indiferent de ce fac, nu declanșează manipulatorul.
Orice sugestii?
Ce fel de dispozitiv mobil nebun face
tu ai un mouse? :)
Da, Windows Mobile nu are un mouse real, dar vă înșelați că Windows Mobile .NET nu suportă evenimentele Mouse. Un clic sau o mutare pe ecran este încă considerat un eveniment "Mouse". Acesta a fost făcut în acest fel, astfel încât codul să poată fi pornit din Windows complet cu ușurință. Și aceasta nu este o problemă specifică Windows Mobile. Controlul TextBox pe Windows nu are niciun eveniment nativ al mouse-ului. Am întâmplat să folosesc Windows Mobile în acest caz.
Modificați: Și pe o notă laterală ... deoarece Windows Mobile este construit din nucleul WindowsCE care este adesea folosit pentru sistemele de desktop încorporate și clienții Slim Terminal Services sau "WinTerms" are suport pentru un mouse hardware și are o lungă perioadă de timp. Majoritatea dispozitivelor nu au porturile pentru a conecta unul.
În conformitate cu Cadrul .Net,
MouseDown Event Handler pe o casetă de text
este suportat. Ce se întâmplă atunci când tu
încercați să executați codul?
De fapt, asta e doar pentru că o moștenește de la "Control", la fel ca și altul Formular fiecare . Este, totuși, suprascris (și schimbat în privat cred că) în clasa TextBox. Deci nu va apărea în IntelliSense în Visual Studio.
Cu toate acestea, puteți scrie codul:
textBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.textBox1_MouseDown);
și se va compila și va funcționa foarte bine, singura problemă este că textBox1_MouseDown() nu va fi concediat când atingeți controlul de text. Presupun că acest lucru se datorează faptului că evenimentul a fost suprasolicitat intern. Nici măcar nu vreau să schimb ceea ce se întâmplă în cadrul evenimentului pe plan intern, vreau doar să-mi adaug propriul handler de eveniment la acel eveniment, ca să pot declanșa un cod personalizat pe cât posibil cu orice alt eveniment.