shina jun
چهارشنبه 01 مهر 1388, 10:49 صبح
سلام دوستان
من برای پرینت کردن اطلاعات یک textbox در فرم بدون استفاده از کریستال ریپرت از کنترل های printdialog,printducument,printpreviewdialog,pages etupdialog ,وکدهای زیر استفاده کردم
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim printfont As New Font("tahoma", 15)
Dim linesperpage As Single = 0
Dim ypos As String = 0
Dim count As Integer = 0
Dim leftmargin As Single = e.MarginBounds.Left
Dim topmargin As Single = e.MarginBounds.Top
Dim line As String = Nothing
linesperpage = e.MarginBounds.Height / printfont.GetHeight(e.Graphics)
While count < linesperpage
line = streamtoprint.readline()
If line Is Nothing Then
Exit While
End If
ypos = topmargin + count * printfont.GetHeight(e.Graphics)
e.Graphics.DrawString(line, printfont, Brushes.Black, leftmargin, ypos, New StringFormat())
count += 1
End While
If Not (line Is Nothing) Then
e.HasMorePages = True
Else
e.HasMorePages = False
End If
End Sub
----------------------------------------
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
streamtoprint = New System.IO.StreamReader(TextBox1.Text)
PrintDocument1.Print()
End Sub
----------------------------------------
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
streamtoprint = New System.IO.StreamReader(TextBox1.Text)
PageSetupDialog1.Document = PrintDocument1
PageSetupDialog1.ShowDialog()
End Sub
----------------------------------------
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
streamtoprint = New System.IO.StreamReader(TextBox1.Text)
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
End Sub
حالا بعد از این همه حرف:
اگه بخواهم به همین روش از یک groupbox یاpanel یا یک فرم پرینت بگیرم چکار باید بکنم؟
در واقع نتونستم با استفاده از متدهای آنها انها به عنوان io بدم!
اگه کسی از دوستان میدونه لطفا کمک کنه که نیاز فوری دارم
من برای پرینت کردن اطلاعات یک textbox در فرم بدون استفاده از کریستال ریپرت از کنترل های printdialog,printducument,printpreviewdialog,pages etupdialog ,وکدهای زیر استفاده کردم
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim printfont As New Font("tahoma", 15)
Dim linesperpage As Single = 0
Dim ypos As String = 0
Dim count As Integer = 0
Dim leftmargin As Single = e.MarginBounds.Left
Dim topmargin As Single = e.MarginBounds.Top
Dim line As String = Nothing
linesperpage = e.MarginBounds.Height / printfont.GetHeight(e.Graphics)
While count < linesperpage
line = streamtoprint.readline()
If line Is Nothing Then
Exit While
End If
ypos = topmargin + count * printfont.GetHeight(e.Graphics)
e.Graphics.DrawString(line, printfont, Brushes.Black, leftmargin, ypos, New StringFormat())
count += 1
End While
If Not (line Is Nothing) Then
e.HasMorePages = True
Else
e.HasMorePages = False
End If
End Sub
----------------------------------------
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
streamtoprint = New System.IO.StreamReader(TextBox1.Text)
PrintDocument1.Print()
End Sub
----------------------------------------
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
streamtoprint = New System.IO.StreamReader(TextBox1.Text)
PageSetupDialog1.Document = PrintDocument1
PageSetupDialog1.ShowDialog()
End Sub
----------------------------------------
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
streamtoprint = New System.IO.StreamReader(TextBox1.Text)
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
End Sub
حالا بعد از این همه حرف:
اگه بخواهم به همین روش از یک groupbox یاpanel یا یک فرم پرینت بگیرم چکار باید بکنم؟
در واقع نتونستم با استفاده از متدهای آنها انها به عنوان io بدم!
اگه کسی از دوستان میدونه لطفا کمک کنه که نیاز فوری دارم