imprimir en vb 2005
¿Tengo un proble ma en vb porfabor alludenme?
temgo un form MDI el cual tiene un form hijo que contiene barios texbox el cual qiuero imprimir sobre siertos puntos de la hoja el cual me hase falta el codigo para asignar donde deve imprimir.
Otro asunto, tengo el codigo para imprimir un solo texbox el cual es el siguiente y quiero que se impriman todos como learia .
gracias
Private Sub ArchivoImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ArchivoImprimir.Click, btbarImprimir.Click
' Formulario hijo activo
Dim FormHijo As FormDocumento = Me
If FormHijo Is Nothing Then Return
'Se supone que durante el diseño se asignó a la propiedad Document
'de PrintDialog1 el objeto PrintDocument utilizado para imprimir.
'Permitir al usuario elegir el rango de páginas a imprimir.
PrintDialog1.AllowSomePages = True
If (PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
'Si se pulsó el botón "Aceptar" (OK), entonces imprimir.
Dim texto As String = FormHijo.rtbText.Text
Dim seps() As Char = {ChrW(10), ChrW(13)} 'LF y CR
lÃnea = texto.Split(seps) 'lÃneas de texto que hay que imprimir
totalLineasImpresas = 0
PrintDocument1.Print() 'invoca a ImprimirDoc_PrintPage
End If
End Sub
Private Sub ImprimirDoc_PrintPage(ByVal sender As System.Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
'Formulario hijo activo
Dim FormHijo As FormDocumento = Me
'Insertar aquà el código para procesar la página.
Dim lineasPorPag As Single
Dim pos_Y As Single
Dim margenIzq As Single = ev.MarginBounds.Left
Dim margenSup As Single = ev.MarginBounds.Top
'Calcular el número de lÃneas por página
Dim fuente As Font = FormHijo.rtbText.Font
Dim altoFuente As Single = fuente.GetHeight(ev.Graphics)
lineasPorPag = ev.MarginBounds.Height / altoFuente
'Contador de las lÃneas impresas en una página
Dim lineasImpresasPorPag As Integer = 0
'Imprimir cada una de las lÃneas
While (totalLineasImpresas < lÃnea.Length And lineasImpresasPorPag < lineasPorPag)
pos_Y = margenSup + (lineasImpresasPorPag * altoFuente)
ev.Graphics.DrawString(lÃnea(totalLineasImpresas), fuente, Brushes.Black, _
margenIzq, pos_Y, New StringFormat)
lineasImpresasPorPag += 1
totalLineasImpresas += 1
End While
'Si quedan lÃneas por imprimir, siguiente página
If (totalLineasImpresas < lÃnea.Length) Then
ev.HasMorePages = True 'se invoca de nuevo a ImprimirDoc_PrintPage
Else
ev.HasMorePages = False 'finaliza la impresión
End If
End Sub
temgo un form MDI el cual tiene un form hijo que contiene barios texbox el cual qiuero imprimir sobre siertos puntos de la hoja el cual me hase falta el codigo para asignar donde deve imprimir.
Otro asunto, tengo el codigo para imprimir un solo texbox el cual es el siguiente y quiero que se impriman todos como learia .
gracias
Private Sub ArchivoImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ArchivoImprimir.Click, btbarImprimir.Click
' Formulario hijo activo
Dim FormHijo As FormDocumento = Me
If FormHijo Is Nothing Then Return
'Se supone que durante el diseño se asignó a la propiedad Document
'de PrintDialog1 el objeto PrintDocument utilizado para imprimir.
'Permitir al usuario elegir el rango de páginas a imprimir.
PrintDialog1.AllowSomePages = True
If (PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
'Si se pulsó el botón "Aceptar" (OK), entonces imprimir.
Dim texto As String = FormHijo.rtbText.Text
Dim seps() As Char = {ChrW(10), ChrW(13)} 'LF y CR
lÃnea = texto.Split(seps) 'lÃneas de texto que hay que imprimir
totalLineasImpresas = 0
PrintDocument1.Print() 'invoca a ImprimirDoc_PrintPage
End If
End Sub
Private Sub ImprimirDoc_PrintPage(ByVal sender As System.Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
'Formulario hijo activo
Dim FormHijo As FormDocumento = Me
'Insertar aquà el código para procesar la página.
Dim lineasPorPag As Single
Dim pos_Y As Single
Dim margenIzq As Single = ev.MarginBounds.Left
Dim margenSup As Single = ev.MarginBounds.Top
'Calcular el número de lÃneas por página
Dim fuente As Font = FormHijo.rtbText.Font
Dim altoFuente As Single = fuente.GetHeight(ev.Graphics)
lineasPorPag = ev.MarginBounds.Height / altoFuente
'Contador de las lÃneas impresas en una página
Dim lineasImpresasPorPag As Integer = 0
'Imprimir cada una de las lÃneas
While (totalLineasImpresas < lÃnea.Length And lineasImpresasPorPag < lineasPorPag)
pos_Y = margenSup + (lineasImpresasPorPag * altoFuente)
ev.Graphics.DrawString(lÃnea(totalLineasImpresas), fuente, Brushes.Black, _
margenIzq, pos_Y, New StringFormat)
lineasImpresasPorPag += 1
totalLineasImpresas += 1
End While
'Si quedan lÃneas por imprimir, siguiente página
If (totalLineasImpresas < lÃnea.Length) Then
ev.HasMorePages = True 'se invoca de nuevo a ImprimirDoc_PrintPage
Else
ev.HasMorePages = False 'finaliza la impresión
End If
End Sub
