【问题标题】:For each new line do something为每个新行做一些事情
【发布时间】:2015-10-20 08:49:15
【问题描述】:
我有一个名为 txtChat 的文本框,我希望每一个新行都会刷新 textbox2 和 textbox3 .. 我不知道如何将其设为“新行”或哪个命令是正确的。我正在寻找类似的东西
For Each NewLine refresh textbox2&3
【问题讨论】:
标签:
vb.net
textbox
refresh
newline
【解决方案1】:
如果您希望在用户键入时监视文本框的输入,您可以使用 keypress 事件。然后参数 e.KeyChar 对应于用户按下的键盘键。如果它等于 vbCr 你可以断定用户按下了回车。您的代码应该看起来像这样:
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = vbCr Then
'Refresh textboxes 2 and 3
End If
End Sub
但是,例如,如果用户复制粘贴了某些内容,您会遇到麻烦,因为用户不会输入换行符。
正如 Dries 所说,您可以使用 textchange 事件,在这种情况下,您必须检查输入到文本框中的最后一个字符是什么。有点令人困惑的是,在这种情况下,您必须检查文本是否以 vbCrLf 结尾。
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text.EndsWith(vbCrLf) Then
'Refresh textboxes 2 and 3
End If
End Sub