VB在自动换行后如何在文本框中强制换行?

时间:2018-10-25 23:15:43

标签: vb.net textbox word-wrap

在Visual Basic中,当在多行文本框中键入内容时(wordwrap = true)。到达(宽度)文本框的末尾。它会自动强制换行。但是,看起来确实添加了(vbnewline)。事实并非如此。

问题是:到达自动换行后,如何强制vbnewline。简单说来。

谢谢

1 个答案:

答案 0 :(得分:1)

由于您提到设置BodyPublisher属性,因此我假设您正在使用WinForm TextBox Control。此控件是本机EDIT控件的包装。本机控件支持在文本换行时插入两个回车符和换行符的换行符。

可以通过向控件发送EM_FMTLINES message来启用此功能。

WordWrap

您只需用Const EM_FMTLINES As Int32 = &HC8 Const softLineBreak As String = ChrW(13) & ChrW(13) & ChrW(10) <DllImport("user32.dll", CharSet:=CharSet.Auto)> Public Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Boolean, ByVal lParam As IntPtr) As IntPtr End Function Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click SendMessage(TextBox1.Handle, EM_FMTLINES, True, IntPtr.Zero) End Sub 替换换行符字符序列即可将其转换为换行符。

Environment.Newline