我正在制作一个文本框,不允许用户使用空格,而是清除文本框,它只是删除最后一个字符(这是空格)我的代码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之后返回时,重点是整个文本框?
答案 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