我有一个多行文字框和这段代码:
If e.KeyCode = Keys.Enter Then
TextBox1.Text = TextBox1.text + vbNewLine + mystring
End if
问题是当我点击输入时它跳转到下一行而不是转到新行并将光标定位在最后一个字符。我正在考虑按某种方式按下后退按钮以便它返回到该行以上,但这是不可能的。
答案 0 :(得分:2)
如果这是KeyDown
事件,您需要做的就是告诉不继续实际按键操作。因为现在你正在添加一个新行,但系统也是如此(因为你按了 ENTER 键)。
要拦截实际按键并防止其传递到TextBox
,您只需将SuppressKeyPress
property设置为True
:
If e.KeyCode = Keys.Enter Then
TextBox1.AppendText(vbNewLine & mystring)
e.SuppressKeyPress = True
End If
如评论中所述,应使用&符号(&
)运算符进行连接,并且TextBox1.AppendText(...)
最好使用,因为它会使代码更易于阅读。