2016-09-22 3 views
0

これは私の問題です。 keyUpイベントで最初の3文字にハイペンを追加したい

If Textbox1.Text.Length = 3 Then 

Textbox1.Text = Textbox1.Text.Insert(3, "-") 

Textbox1.SelectionStart = Textbox1.TextLength 

End If 

出力は次のようである:

AAA-

は、例えば、私は最初の3つの文字に間違って入力されたと私はそれを変更したい、しかし、それでもまだ、私はハイフンを削除カント

AAA-

+0

あなたは、あなたがいることを押したときにはい、それはあなたの関数を入力し、追加する場合Backspace'は、 '再び、キーを検出しようと-''使う意味あなたの関数内にあります – Prisoner

+0

これは便利でしょう:http://www.vbforums.com/showthread.php?626118-License-Key-Serial-Code-TextBox&highlight= – jmcilhinney

+0

あなたのキーが 'Backspace'キーを押して、その条件で関数を実行します。 – jAC

答えて

0

おそらくMaskedTextBoxをお探しですか?したがって、この形式でのみテキストを入力できます。

Masked Textbox MSDN

Private Sub MaskedTextBox1_MaskInputRejected(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected 
    If (Me.MaskedTextBox1.MaskFull) Then 
     ToolTip1.ToolTipTitle = "Input Rejected - Too Much Data" 
     ToolTip1.Show("You cannot enter any more data into the date field. Delete some characters in order to insert more data.", Me.MaskedTextBox1, Me.MaskedTextBox1.Location.X, Me.MaskedTextBox1.Location.Y, 5000) 
    ElseIf (e.Position = Me.MaskedTextBox1.Mask.Length) Then 
     ToolTip1.ToolTipTitle = "Input Rejected - End of Field" 
     ToolTip1.Show("You cannot add extra characters to the end of this date field.", Me.MaskedTextBox1, 0, -20, 5000) 
    Else 
     ToolTip1.ToolTipTitle = "Input Rejected" 
     ToolTip1.Show("You can only add numeric characters (0-9) into this date field.", Me.MaskedTextBox1, 0, -20, 5000) 
    End If 
End Sub 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Me.ToolTip1.IsBalloon = True 
    Me.MaskedTextBox1.Mask = "00/00/0000" 
End Sub 

Private Sub MaskedTextBox1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MaskedTextBox1.KeyDown 
    ' The balloon tip is visible for five seconds; if the user types any data before it disappears, collapse it ourselves. 
    Me.ToolTip1.Hide(Me.MaskedTextBox1) 
End Sub 
0

それは本当にあなたの文字列を編集している方法に応じています。とにかくこれはあなたが探しているものもmught:

 Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp 
    If TextBox1.Text.Length = 3 And e.KeyCode <> Keys.Back Then 
     TextBox1.Text = TextBox1.Text.Insert(3, "-") 
     TextBox1.SelectionStart = TextBox1.TextLength 
    End If 
End Sub 
関連する問題