2016-04-02 7 views
0

Visual Basicを初めて使用しています。 textboxlike演算子を使用して、文字の後に他の文字が続く場合は、その文字を変更したいと考えています。しかし、それはkey-upイベントにあるはずです。文字列の後に文字ビジュアルベーシックが続く場合は置き換えます。

誰でも助けてください:どのように私は次のコードを動作させることができますか?

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 

答えて

0

これを試してみてください。あなたの変数myStringは、TextBoxからその価値を得ることは決してありませんでした。 loadイベントでそれをxに設定するだけです。

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

これは機能しますが、1回だけです。コードをループする修正を提案してください。 –

+0

"x?"と書く度に動作します。箱の中 !ループする必要はありません。キーアップイベントが発生するたびに、メソッドが実行されます。今あなたの必要条件に依存します。 –

関連する問題