textbox.clear有人可以检查哪里出错了吗?

时间:2010-11-04 14:24:40

标签: vb.net textbox clear

我正在制作一个文本框,不允许用户使用空格,而是清除文本框,它只是删除最后一个字符(这是空格)我的代码dosnt工作可以sombody看看吗?

    Private Sub Textbox1_keyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    Dim UNDONE_TEXT As String

    If e.KeyCode = Keys.Space Then

        UNDONE_TEXT = ((TextBox1.Text) - 1)
        TextBox1.Clear()
        TextBox1.Text = UNDONE_TEXT

        MsgBox("Invalid character. No spaces Permited...")
    End If
End Sub

结束班

这会返回3 ????

更新:

    Private Sub Textbox1_keyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    Dim UNDO_TEXT As String

    If e.KeyCode = Keys.Space Then
        UNDO_TEXT = TextBox1.Text
        TextBox1.Clear()
        TextBox1.Text = UNDO_TEXT
        TextBox1.Text.TrimEnd()
        MsgBox("Invalid character. No spaces Permited...")

    End If
End Sub

结束班

现在只有在MSGbox之后返回时,重点是整个文本框?

2 个答案:

答案 0 :(得分:0)

UNDONE_TEXT = left(TextBox1.Text,len(TextBox1.text)-1)

答案 1 :(得分:0)

我不是VBA专家,但TextBox1.Text.Trim()会成为你想要的吗?这将删除字符串开头和结尾的空格。可能,您可以尝试TrimEnd()。我不知道VBA中是否存在,它在VB.NET中存在:

Private Sub Textbox1_keyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown

    Dim UNDO_TEXT As String

    If e.KeyCode = Keys.Space Then
        TextBox1.Text = TextBox1.Text.TrimEnd()
        MsgBox("Invalid character. No spaces Permited...")
    End If

End Sub