PDA

View Full Version : مشکل در پرینت محتویات ریچ تکست باکس



samiasoft
چهارشنبه 20 آبان 1394, 23:06 عصر
سلام دوستان

من با استفاده از دستورات زیر ریچ تکست باکس رو پرینت میکنم :

Try PrintDocument1.DefaultPageSettings = PrintPageSettings
StringtoPrint = RichTextBox1.Text
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try



Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim numChars As Integer
Dim numLines As Integer
Dim stringForPages As String
Dim strFormat As New StringFormat
Dim DrawRect As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
Dim sizeMeasure As New SizeF(e.MarginBounds.Width, e.MarginBounds.Height - (PrintFont.GetHeight(e.Graphics)))
strFormat.Trimming = StringTrimming.Word
e.Graphics.MeasureString(StringtoPrint, PrintFont, sizeMeasure, strFormat, numChars, numLines)
stringForPages = StringtoPrint.Substring(0, numChars)
e.Graphics.DrawString(stringForPages, PrintFont, Brushes.Black, DrawRect, strFormat)


If numChars < StringtoPrint.Length Then
StringtoPrint = StringtoPrint.Substring(numChars)
e.HasMorePages = True
Else
e.HasMorePages = False
StringtoPrint = RichTextBox1.Text
End If
End Sub



مشکلی که دارم این هستش که اگه Alignment متنی در سمت راست یا وسط باشه کلا بصورت چپ چین پرینت میگیره.
مشکل هم فکر میکنم در دستور e.MarginBounds.Left باشه . خب به نظرتون چطوری من این مشکل رو حل کنم

samiasoft
پنج شنبه 21 آبان 1394, 15:31 عصر
مشکلم حل شد .

https://support.microsoft.com/en-us/kb/811401