Vb.net 打印时的文本换行

Vb.net 打印时的文本换行,vb.net,printing,word-wrap,Vb.net,Printing,Word Wrap,我试图确保我的PrintDocument上的单词和字符一直到页面边距并换行。目前,它有一个很大的缺口: 红色是边距。我希望文本一直到页边空白处,如果超过,则将其包装 这是我的打印文档代码: Private Sub PrintDoc_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDoc.PrintPage Dim PrintFont As New Font(TheTextBox.FontFamily.

我试图确保我的
PrintDocument
上的单词和字符一直到页面边距并换行。目前,它有一个很大的缺口:

红色是边距。我希望文本一直到页边空白处,如果超过,则将其包装

这是我的
打印文档
代码:

Private Sub PrintDoc_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDoc.PrintPage

    Dim PrintFont As New Font(TheTextBox.FontFamily.ToString(), Convert.ToSingle(TheTextBox.FontSize))
    Dim charactersOnPage As Integer = TheTextBox.Text.Length
    Dim linesPerPage As Integer = TheTextBox.LineCount

    e.Graphics.DrawRectangle(Pens.Red, e.MarginBounds)
    e.Graphics.MeasureString(StringToPrint, PrintFont, e.MarginBounds.Size, StringFormat.GenericDefault, charactersOnPage, linesPerPage)
    e.Graphics.DrawString(StringToPrint, PrintFont, Brushes.Black, e.MarginBounds, StringFormat.GenericDefault)

    StringToPrint = StringToPrint.Substring(charactersOnPage)
    e.HasMorePages = StringToPrint.Length > 0

End Sub

你需要像在Word中一样在文本中使用
justify
模式。你知道从哪里开始吗?Msdn代码项目?搜索
justify text algorithm
可能是一个好的开始!