Usercontrol

hallo,

wie kann ich es realisieren, das bei einem Mouse-Click auf ein Usercontrol das vorhergehende Control (zb. Textbox) den Focus nicht verliert.

Bedingung soll aber sein, das ich alle Maus-Events auf diesem Usercontrol weiter erhalte !!

Volker

Hallo.

wie kann ich es realisieren, das bei einem Mouse-Click auf ein
Usercontrol das vorhergehende Control (zb. Textbox) den Focus
nicht verliert.

Verlieren muß das Control den Fokus zunächst, wegen der Mausevents (s.u.). Du kannst aber im „LostFocus“ von Usercontrol eine Public-Variable setzen (True/False) und abhängig vom Zustand dieser Variablen wieder im gemausten Element ein SetFocus aufrufen.

Also :

User klickt aus Element A das Element B an. Das löst ElementA_LostFocus() aus. In der Ereignisprozedur setzt Du FocusEumel=True. Element B erhält den Fokus und löst gleichzeitig den Click-Event aus. Am Ende der Click-Ereignisprozedur fragst Du FocusEumel ab (If FocusEumel Then ElementA.SetFocus). Fertig.

Bedingung soll aber sein, das ich alle Maus-Events auf diesem
Usercontrol weiter erhalte !!

Paßt scho …

Gruß kw

Hallo,

danke, das ist auch eine Möglichkeit, bedeutet aber mehr Schreibaufwand, da das andere Controls durch „LostFocus“ WM_KILLFOCUS dynamisch verändert wird (aus 3Z. MultiLine wird SingleLine „TextBox“ Edit).

Volker

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Entschuldige bitte …
aber mehr Schreibaufwand als WAS? Du hast doch nach einer Lösung gefragt. Laß mich bite nicht dumm sterben.

Gruß kw

danke, das ist auch eine Möglichkeit, bedeutet aber mehr
Schreibaufwand, da das andere Controls durch „LostFocus“
WM_KILLFOCUS dynamisch verändert wird (aus 3Z. MultiLine wird
SingleLine „TextBox“ Edit).

Volker

die Lösung ist doch einfacher als ich dachte, CanGetFocus beim Usercontrol auf false setzen.

Volker