我有一个多行文本框和以下代码:
If e.KeyCode = Keys.Enter Then
TextBox1.Text = TextBox1.text + vbNewLine + mystring
End if
问题是当我按下Enter键时,它跳到了下一行,而不是跳到新行并将光标定位在最后一个字符上。我当时正在考虑按“返回”按钮使其返回到上一行,但是那是不可能的。
如果发生这种情况KeyDown
,您要做的就是告诉它不要继续进行实际的按键操作。因为按现状,您当前正在添加新行,但系统也是如此(因为您按下了ENTER键)。
要拦截实际的按键并阻止其传递到TextBox
,您要做的就是将SuppressKeyPress
属性设置为True
:
If e.KeyCode = Keys.Enter Then
TextBox1.AppendText(vbNewLine & mystring)
e.SuppressKeyPress = True
End If
如注释中所述,连接应该使用&&
运算符进行,并且TextBox1.AppendText(...)
最好使用,因为它将使代码更易于阅读。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句