GotFocus, SelectAll ?


Christoph1972

Erfahrenes Mitglied
Also, wenn ich mit der Maus in ein beschriebenes Textfeld klicke, wird der Text zwar selektiert, was ich ja auch möchte. Wenn ich dann aber mit der Maus hinter das Selektiert klicke, sollte die Selektierung eigentlich verschwinden und der Curser hinter der Eingabe stehen (so das der User noch etwas anfügen kann). Das ist aber nicht so, da durch das erneute Click_Ereignis wieder selektiert wird. Wenn der User nicht >Rechtstaste drückt ist er gezwungen die Eingabe neu zu machen.

Ich mach das so:


Private Sub txtwert2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtwert2.GotFocus, txtwert2.Click

txtwert2.SelectAll()

End Sub


So wie ich es haben möchte ist es doch Standard, es kann doch also gar nicht so schwer sein, oder?

Christoph
 

Norbert Eder

Erfahrenes Mitglied
Du könntst abfragen ob der Text bereits selektiert ist und wenn ja, den Cursor ans Ende stellen. Wenn nicht selektiert ist, dann alles selektieren :)
 

Christoph1972

Erfahrenes Mitglied
Hallo Norbert,


äh anders geht das nicht? Das ist doch wieder sehr aufwendig. Irgend wie sind in .NET überall Stolpersteine :confused:

Lg

Christoph
 

Norbert Eder

Erfahrenes Mitglied
Ich habs jetzt nur in C#, aber sollte dir trotzdem zeigen wie du das machen kannst, wenn ichs noch richtig in Erinnerung hatte was du brauchst, hab mir die Postings nicht nochmal durchgelesen.
Code:
private void textBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
	if (textBox1.SelectedText.Length == 0)
		textBox1.SelectAll();
	else
		textBox1.Select(textBox1.Text.Length, 0);
}
 

Christoph1972

Erfahrenes Mitglied
1000 Dank!

Ich habe das mal so umgewandelt:

Private Sub txtwert2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtwert2.GotFocus, txtwert2.Click

If txtwert2.SelectedText.Length = 0 Then
txtwert2.SelectAll()

Else
txtwert2.Select(txtwert2.Text.Length, 0)

End If

End Sub



Ich habe schon etwas rumexperimentiert, aber ich erreiche einfach nicht das gewünschte Ergebnis. Was muss ich ändern?


Gruß

Christoph
 

Norbert Eder

Erfahrenes Mitglied
Bei mir funktionierts aber genau so:
Ist der Text nicht markiert, wird der gesamte Text beim hineinklicken markiert, dann nochmal reinklicken, wird der Cursor nach dem letzten Zeichen gestellt.
 

Christoph1972

Erfahrenes Mitglied
Es wird aber immer der ganze Text selectiert, egal ob er es schon ist oder nicht. Wie gesagt, ich habe auch schon experimentiert.

Gruß

Christoph