2016-04-02 9 views
0

Ich bin neu in Visual Basic. Ich möchte den Operator like in einem textbox verwenden, um ein Zeichen zu ändern, wenn es von einem anderen Zeichen gefolgt wird. Aber es sollte auf dem key-up Ereignis sein.Ersetzen Zeichenfolge, gefolgt von einem Zeichen Visual Basic

Bitte helfen Sie mir: Wie kann ich den folgenden Code arbeiten lassen?

Public Class Form1 
Dim myString As String 
Dim sMatch As Boolean = myString Like "x?" 

Private Sub TextBox1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp 
    If sMatch = True Then 
     TextBox1.Text = TextBox1.Text.Replace(myString, "z") 
    End If 
End Sub 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    myString = "x" 
End Sub 
End Class 

Antwort

0

Versuchen Sie dies und fragen Sie. Ihre Variable myString hat ihren Wert nie von der TextBox erhalten. Sie setzen es einfach auf x im load Ereignis.

Public Class Form1 
Private Sub TextBox1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp 
    If TextBox1.Text Like "x?" Then 
     TextBox1.Text = TextBox1.Text.Replace(TextBox1.Text, "z") 
    End If 
End Sub 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    TextBox1.Text = "x" 
End Sub 
End Class 
+0

Das funktioniert, aber nur einmal. Könnten Sie bitte eine Änderung vorschlagen, um den Code zu wiederholen? –

+0

Es funktioniert jedes Mal, wenn Sie "x?" in der BOx ! Es besteht keine Notwendigkeit zum Schleifen. Jedes Mal, wenn ein Key-Up-Ereignis vorliegt, wird die Methode ausgeführt. Jetzt kommt es darauf an, was deine Anforderung ist. –