为每一条新线做点什么

时间:2015-07-29 11:34:49

标签: vb.net textbox refresh newline

我有一个名为txtChat的文本框,我希望每个新行都可以刷新textbox2和textbox3 ..我不知道如何制作thits"新行的东西"或哪个命令是正确的。我正在寻找像

这样的东西
For Each NewLine refresh textbox2&3

2 个答案:

答案 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

它应该指出你要找的东西(据我所知)。