1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

VB 2008: Aktion bei Änderung des Formulars ausführen

Discussion in 'Programmieren' started by Gandalf87, Sep 5, 2010.

Thread Status:
Not open for further replies.
  1. Gandalf87

    Gandalf87 Byte

    Hallo Leute

    Ich wüsste gerne, wie man bei VB 2008 Express eine Aktion bei Änderung des Formulars ausführen kann.

    Praktisches Beispiel:
    Zahlensysteme umrechnen

    In der Dezimal Textbox wird eine Zahl geändert
    ohne eine weitere Eingabe soll die neue Zahl direkt ins was-weiß-ich System umgewandelt werden.

    Danke im Voraus
    Gandalf
     
  2. VB-Coder

    VB-Coder Megabyte

    Nehmen wir an du hast eine TextBox, dann mach einen Doppelklick darauf...

    jetzt solltest du in der Codeansicht landen

    nun kannst du dir aus der Dropdownliste (oben rechts) das Event TextChanged auswählen. Ist übrigens voreingestellt.

    Dieses Event reagiert auf alle Textänderungen.

    Also musst du nurnoch an der entsprechenden Stelle deinen Code einfügen der bei Textänderung ausgeführt werden soll.

    simples Beispiel:

    Code:
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
            MsgBox("text geändert")
    
        End Sub
    
     
  3. Gandalf87

    Gandalf87 Byte

    Tschuldigung,
    lang nicht mehr reingeschaut.
    Danke
     
  4. Umbekannt

    Umbekannt Byte

    TextChange würde ich persönlich nicht verwenden.
    Der Code innerhalb des Eventes TextChanged wird bei jedem Tastenschlag durchgeführt.

    Wenn dann würde ich persänlich eher das event für das verlassen des Focuses verwenden.

    Dann wird dein Source-Code nur dann ausgeführt, wenn der Benutzer die Textbox verlässt.

    Das ist viel sauberer als unnötig etliche Zeilen von Code bei jedem Tastenschlag durchzuführen.
     
  5. R3G3R

    R3G3R Byte

    da ein beispiel aber nie weit weg ist von der realität ist das TextChange event für diese zwecke völlig ausreichend und er muss weder woanders hinklicken noch die tabulator taste drücken.

    sprich ein weites *Thumb Up* für VB-Coder ;)

    Lg
     
  6. VB-Coder

    VB-Coder Megabyte

    Damit würdest du aber auch genau an der "Aufgabenstellung" vorbei schießen, denn:

    Wenn du das Focus Event nutzen willst benötigst du aber eine weitere Eingabe. Nämlich die Eingabe um die Textbox ihren Focus verlieren zu lassen. Sei es durch Mausklick, oder durch die TAB Taste. Egal wie - es wäre eine weitere Eingabe.

    Es geht hier um das Umwandeln von Zahlen. Somit ist der Code in dem TextChange Event so gering, dass es keine Rolle spielt, ob dieser bei jedem Tastenanschlag durchgegangen wird.

    Um diese Umwandlung zu realisieren brauche ich maximal 5 Zeilen Code. Das beinhaltet dann aber auch schon eine Fehlerbehandlungsroutine, die prüft, ob es sich bei der Eingabe um eine Zahl handelt und falls nicht eine Fehlermeldung ausgibt und das letzte Zeichen autom. wieder entfernt.
     
  7. Hascheff

    Hascheff Moderator

    Das Thema ist durch.
    :zu:
     
Thread Status:
Not open for further replies.

Share This Page