2010-06-20 56 views
0

我一直在研究一些打印列出聯繫人信息的文本框的代碼。當我嘗試打印它時,它不會打印出我用來格式化文本的選項卡。這是我的代碼:使用Tab鍵格式打印WinForms TextBox

Private Sub PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs) _ 
Handles prndoc.PrintPage 

    Dim fnt As Font = resultTextBox.Font 
    ev.Graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias 

    Dim area As SizeF = New SizeF(ev.MarginBounds.Width, ev.MarginBounds.Height) 
    Dim lines, chars As Integer 
    ev.Graphics.MeasureString(resultTextBox.Text.Substring(mStringPos), fnt, _ 
           area, StringFormat.GenericTypographic, chars, _ 
           lines) 

    Dim rc As New RectangleF(ev.MarginBounds.Left, ev.MarginBounds.Top, _ 
          ev.MarginBounds.Width, ev.MarginBounds.Height) 
    ev.Graphics.DrawString(resultTextBox.Text.Substring(mStringPos, chars), _ 
          fnt, Brushes.Black, rc, _ 
          StringFormat.GenericTypographic) 

    mStringPos += chars 

    ev.HasMorePages = mStringPos < resultTextBox.Text.Length 
End Sub 

有人能告訴我我做錯了什麼嗎?

+0

您做錯了的主要事情並不是告訴我們問題是什麼。 「它不打印出標籤」,但是它做了什麼? – 2010-06-20 01:18:44

回答

0

如果你這樣做會發生什麼?

Dim fmt as StringFormat 
fmt = StringFormat.GenericTypographic 
fmt.SetTabStops(-- put something here -- ) 
ev.Graphics.DrawString(resultTextBox.Text.Substring(mStringPos, chars), _ 
          fnt, Brushes.Black, rc, _ 
          fmt) 

這是否改變了事情? (檢查我的語法 - 我通常不會使用VB。)

+0

什麼都沒有........ – 2010-06-20 00:23:37