在Visual Basic中,当在多行文本框中键入内容时(wordwrap = true)。到达(宽度)文本框的末尾。它会自动强制换行。但是,看起来确实添加了(vbnewline)。事实并非如此。
问题是:到达自动换行后,如何强制vbnewline。简单说来。
谢谢
答案 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