Forums Neueste Beiträge
 

Return im UserControl

06/05/2011 - 08:40 von Lothar Geyer | Report spam
In einem UserControl gibt es eine TextBox. Wenn der User dort etwas
eingibt und die Return/Enter-Taste drückt, soll ein Event ausgelöst
werden. Leider schaffe ich das nicht. Die Form, auf der sich das
UserControl befindet, hat nàmlich einen Default-Button gesetzt, der mir
den KeyPress klaut. Ich habs auch schon mit KeyPreview usw. probiert,
auf TextBox- und auf UserControl-Ebene.

Ich hab natürlich auch eine Lösung: indem ich die
DefaultCancel-Eigenschaft für das UserControl setze und den
DefaultButton auf der Form einstweilen "stilllege". Aber dann wàre das
UserControl nicht mehr Form-unabhàngig bzw. es würde IMHO einen relativ
großen Aufwand erfordern, es Form-unabhàngig zu gestalten.

Was tun?

Lothar Geyer
 

Lesen sie die antworten

#1 Wolfgang Wolf
06/05/2011 - 09:16 | Warnen spam
Hallo Lothar,
Am 06.05.2011 08:40, schrieb Lothar Geyer:
In einem UserControl gibt es eine TextBox. Wenn der User dort etwas
eingibt und die Return/Enter-Taste drückt, soll ein Event ausgelöst
werden. Leider schaffe ich das nicht. Die Form, auf der sich das
UserControl befindet, hat nàmlich einen Default-Button gesetzt, der mir
den KeyPress klaut. Ich habs auch schon mit KeyPreview usw. probiert,
auf TextBox- und auf UserControl-Ebene.



Ich fürchte dein Programm verhàlt sich genauso wie es sich zu verhalten
hat. Eine Default-Eigenschaft ist halt nun mal dafür da, dass sie die
Enter-Taste abfàngt und verarbeitet. So sehe ich das.

Der richtige Weg wàre die Default-Eigenschaft ausschalten, dann kommt
auch der Event im Control. Auf Form-Ebene kannst Du dann im Kontext des
gerade aktiven Controls selbst entscheiden, was mit dem Return passieren
soll. KeyPreview ist dann sicherlich eine Option.

Schönen Gruß
W. Wolf

Ähnliche fragen