【问题标题】: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

【讨论】:

    【解决方案2】:

    看看 TextChange 事件。 (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.textchanged(v=vs.110).aspx)

    它应该指出你在寻找什么(据我所知)。

    【讨论】:

      猜你喜欢
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      相关资源
      最近更新 更多