Text_Changed Event durch eigenen Programmablauf nicht triggern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Haudruferzappeltnoch.

    Text_Changed Event durch eigenen Programmablauf nicht triggern

    Hallo,

    ausgehend welches Textfeld zuletzt bedient wurde wollte ich im jeweils anderen Textfeld etwas anzeigen lassen. Natürlich führt diese neue Anzeige dazu, dass das zuletzt bediente Feld wechselt. Im Speziellen: ist Flag = 2 dann wird TextBox1 beschrieben, was anschließend Flag auf 1 setzt. Jetzt weiß ich nicht ob mir einfach nur eine bessere logische Verknüpfung einfallen sollte oder ob man eventuell das TextChange-Event, der durch den ButtonClick ausgelöst wird unterdrücken kann. (sodass Flag trotzdem bei 2 bleibt)
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private flag as Integer
    2. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged
    3. flag = 1
    4. End Sub
    5. Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox2.TextChanged
    6. flag = 2
    7. End Sub
    8. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    9. If flag = 1 Then
    10. TextBox2.Text = a
    11. ElseIf flag = 2 Then
    12. TextBox1.Text = b
    13. End If
    14. End Sub


    Grüße
    Statt flag in den TextChanged-EventHandler (EH) zu setzen, nimm die GotFocus-EHs der TextBoxen her. Immer dann, wenn eine TextBox selektiert wird, wird dort dann klar, welche TB geändert werden muss.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.