VB.NET VbNewLine

安德鲁·汉兹(Andrew Henz)

我有一个多行文本框和以下代码:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章