por Arkhel » Vie Feb 10, 2006 5:54 pm
Respecto a la duda acerca de cómo imprimir en visual basic .net, investiga el objeto PrintDocument, además de los objetos PrintDialog y PrintPreviewDialog
Bueno si mal no recuerdo es:
'Imprimiendo texto de un textbox, o cualquier objeto con la propiedad
'Text
'Importando el espacio de nombre requrido
Imports System.Drawing.Printing
'Declarando objetos PrintPageEventArgs, manejador de contenido de
'impresión. Y
'PrintDocument, o bien arrastralo
'desde el diseñador
'Objeto PrintPageEventArgs se genera como argumento implícito
'del procedimiento de evento PrintPage de PrintDocument
Dim ContenidoDelTexto as PrintPageEventArgs
Dim WithEvents Reporte as new PrintDocument()
'Evento Click a un boton, previamente declarado y configurado
Private Sub Button_Click(ByVal sender As System.Object, ByVal _
e As System.EventArgs) Handles Button.Click
'Mandando a imprimir
Reporte.Print
End Sub
'Procedimiento de evento Reporte_PrintPage. Construyendo el informe
Private Sub Reporte_PrintPage(ByVal sender As System.Object, ByVal _
e As System.Drawing.Printing.PrintPageEventArgs) Handles _
Reporte.PrintPage
'objeto PrintPageEventArgs, cuyas propiedades MarginBounds, Graphics,
' HasMorePage, etc.. no ayudarán a configurar el texto para la impresión
ContenidoDelTexto = e
'Imprimir el contenido de textbox1.text = "Impresión de prueba"
ContenidoDelTexto.Graphics.DrawString(TextBox1.Text, _
New font("Arial", 12), _
Brushes.Black, _
ContenidoDelTexto.MarginBounds.Left, _ ContenidoDelTexto.MarginBounds.Top)
'Breve descripción de las propiedades de Contenidotexto, De abajo
'hacia arriba
'ContenidoDelTexto.MarginBounds.Left y
'ContenidoDelTexto.MarginBoundsTop)
'Indica la posición en la hoja, que es el área rectangular
' que representa el área de impresión de la misma
'en este caso es el limite
'hacia la izquierda, y el limite hacia arriba, que en
'enteros sería 100, 100. BrushesBlack es el color de
' la letra y por útlimo la fuente de la letra.
'otra propiedad del objeto PrintPageEventArgs es
'PageBounds a través de esta se puede recuperar el
'área rectangular que representa el área total de la página.
'Indica que no hay más páginas a imprimir
ContenidoDelTexto.HasMorePages = False
'Propiedad HasMorePages .- Obtiene o establece un valor que indica si
'se debe imprimir una página adicional. Boolean
End Sub
'Bien, copiando y pegando debe de funcionar.
'Otra cosa, para confugurar la impresora, con el objeto printDialog
Dim impresora as new printDialog()
sub Configurar()
Impresora.document = Reporte
Impresora.ShowDialog()
reporte.PrinterSettings = impresora.PrinterSettings
End Sub
'llamar este procedimiento al event click del boton, antes de la linea
'Reporte.Print
Saludos.
No busco mi dicha en la indiferencia y lo que más estremece al hombre es casi siempre lo que más le conviene.