User Passwort
 Passwort speichern Passwort vergessen?
 
 
 
 Alle Foren
 PDA-Dev :: Windows Mobile
 VB.NET
 Textbox: alles Markieren beim GotFocus-Event

Hinweis: Sie müssen sich registrieren, um eine Antwort schreiben zu können.
Um sich zu registrieren, klicken Sie hier. Die Registrierung ist kostenlos!

Auflösung:
Benutzer:
Passwort:
Funktion:
Format: FettKursivUnterstreichenDurchstreichen Links ausrichtenZentrierenRechts ausrichten Horizontale Line Hyperlink einfügenEmail einfügenBild einfügen Code einfügenZitat einfügenListe einfügen Spoiler einfügen Infos zur Code-Formatierung
   
Nachricht:

Smilies
Achtung [!] Aufgeregt [angry] Big Smile [:D] Computer... [comp]
Durchgedreht [O] Idee [i!] Jubel [jump] Ratlos [:I?]
Schüchtern [8)] Smile [:)] Sprachlos [:O!] Traurig [:(]
Wütend [:(!] Zunge [:P] Zustimmung [^] Zwinkern [;)]

     HTML ist AUS | Forum Code ist AN
Tags:
Bereits vorhandene Tags: GotFocus TextBox VB.NET Windows Mobile
Wiederholen Sie wichtige Tags oder fügen Sie neue Tags hinzu.
Trennen Sie mehrere Tags durch Kommas voneinander ab.

  Signatur anhängen.
Dieses Thema abonnieren.
    

  Übersicht  
Useless user
Erstellt am: 09.10.2008 : 18:36:26 Uhr
Vlt. ist es schon jemanden aufgefallen, es ist scheinbar ein Ding der Unmöglichkeit ist, in einem GotFocus-Eventhandler einer Textbox den kompletten Text zu markieren. Das liegt daran, wie WindowsMobile seine Events intern verarbeitet. Und nein, Application.DoEvents bringt auch nix.
In anderen Foren habe schon komplizierte Lösungen gefunden bei denen Timer verwendet werden um die SelectAll-Funktion zeitverzögert aufzurufen, aber lassen wir mal die Kirche im Dorf und lösen das Problem mit der wunderbaren Magie der Windows Messages (erfordert die Microsoft.WindowsCe-Assembly):
Private Sub TB_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs)
Dim tb as TextBox = DirectCast(sender, TextBox)
' Da SelectAll zwar funktioniert aber er danach noch ein weiteres Mal den Cursor setzt was die Markierung wieder löscht,
' wird einfach eine WindowsMessage abgesetzt!
Dim selStart As Int32 = 0
Dim selLength As Int32 = tb.TextLength
Dim EM_SETSEL As Int32 = &HB1 ' die WM für markieren von Text
Dim msg As Message
msg = Message.Create(tb.Handle, EM_SETSEL, New IntPtr(selStart), New IntPtr(selLength))
MessageWindow.PostMessage(msg)
End Sub



pda-dev.de

Quicklinks: Foren-Übersicht | Developer-News | Suche | Impressum

© just-works! Software

Zum Anfang der Seite

Snitz Forums 2000