Anwendung stoppen bis sich der Text in der Textbox ändert

Amo8

Mitglied
Ich möchte meine Anwendung stoppen bis sich der Text in der Textbox ändert. Der Stopp sollte durch ein Timer erfolgen. Hat Jemand einen Lösungsansatz.
 
es gibt ein ereignis bei der Textbox. Sie wird aufgerufen, wenn der Text durch den User geändert wird..

Visual Basic:
Private Sub TextBox1_Change()
if Textbox1.text = "weiter" then func_weiter
End Sub

mfg

Philipp9494
 
Ich habe mal nachgelesen was Change macht, und da stand es trifft ein wen der User Text eingibt. Meine Textbox wird aber über das Programm selbst gefüllt, und da passiert gar nichts.Oder ich mache was falsch.
Visual Basic:
Private Sub Timer13_Timer()
      If Change.Text16.Text = 0 Then

       Timer11.Enabled = False
       Timer12.Enabled = False
       
  If Change.Text16.Text = 1 Then
       
       Timer11.Enabled = True
       Timer12.Enabled = True
       
         End If
       End If
End Sub
Etwas muß falsch sein, den es funktioniert nicht.
 
Nein ich benutze vb6. Habe aber eine andere Lösung gefunden. Ich lese die Textbox in einer Tempbox ein und vergleiche sie dann mit der Aktuellen Datei.
Die Aufrufzeilen sehen dann so aus:

If Temp2.Text = Text14.Text Then

Timer11.Enabled = False
Timer12.Enabled = False

und

If Temp2.Text <> Text14.Text Then

Timer11.Enabled = True
Timer12.Enabled = True
das funktioniert halbwegs, es muß halt erstmal reichen um weiter zu kommen. Wenn der Text also gleich bleibt hält das Programm an bis sich der Text ändert, dann starten die Timer wieder. Das geht sicherlich eleganter aber ich brings nicht besser.
 
Amo8: Du brauchst keinen Timer oder so etwas, das Change-Event einer Textbox wird ausgelöst, wenn Text eingegeben wird. Dabei ist es egal, ob der Text von einer Person oder aus Code heraus eingegeben wird.

In deinem Fall ist die Zeile
Visual Basic:
If Change.Text16.Text = 0 Then
vollkomen falsch, so fragt man ja auch kein Event ab. Sollte so aussehen:
Visual Basic:
Private Sub Text16_Change()
 'Textbox-Inhalt wurde geändert, Prüfe, ob Inhalt drin ist:
 If Text16.Text <> "" Then
  Timer11.Enabled = True
  Timer12.Enabled = True
 Else
  Timer11.Enabled = False
  Timer12.Enabled = False
 End If
End Sub


Der Doc!
 
Ich weiß nicht ob Change überhaupt bei der Sache gut ist, habe es eben getestet und es geht leider nicht. Der Stop kommt nicht zustande und das liegt daran das ein Timer die Textbox erneuert, das muß auch so sein den ich frage eine Fremdanwendung ab. Meine Anwendung soll solange stoppen wie der Text gleich bleibt, und erst wen er sich geändert hat soll mein Programm weiter laufen. Also einfacher Text vergleich wäre die Lösung und wen es geht ohne vorher zu speichern. Aber geht das überhaupt?
 
Wäre kein Problem, würde folgendermaßen funktionieren:
Visual Basic:
' Erst eine Formweite Variable festlegen
Dim sText16 As String
Private Sub Form_Load()
 'Mach ich hier, dass der Inhalt der Textbox erkannt wird
 sText16 = Text16.Text
End Sub
' Das Change-Event
Private Sub Text16_Change()
 'Textbox-Inhalt wurde geändert, Prüfe auf Veränderung:
 If Text16.Text <> sText16 Then
  sText16 = Text16.Text
  Timer11.Enabled = True
  Timer12.Enabled = True
 Else
  Timer11.Enabled = False
  Timer12.Enabled = False
 End If
End Sub


Der Doc!
 
Zurück