我有一个名为txtChat的文本框,我希望每个新行都可以刷新textbox2和textbox3 ..我不知道如何制作thits"新行的东西"或哪个命令是正确的。我正在寻找像
这样的东西For Each NewLine refresh textbox2&3
答案 0 :(得分:1)
如果您希望在用户输入时监视文本框中的输入,则可以使用按键事件。然后,参数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
答案 1 :(得分:0)
看看TextChange事件。 (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.textchanged(v=vs.110).aspx)
它应该指出你要找的东西(据我所知)。