Principales respuestas
problema con impresion

Pregunta
-
tengo problemas con el siguiente codigo:
Private Sub Print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Print.Click 'instrucciones para determinar la impresion del documento PrintDialog.Document = PrintDocument Dim result As DialogResult = PrintDialog.ShowDialog If (result = Windows.Forms.DialogResult.OK) Then PrintDocument.Print() End If End Sub
lo que hace dicho metodo es mostrame un cuadro de dialogo para configurar la impresion de un archivo txt que tengo, pero dentro del cuadro me aparecen desabilitadas varias opciones , y cuando le doy impimir la impresora tira la hoja en blanco como si no hubieran letras que imprimir, les comento que dicho txt lo tengo en un RichTextbox y necesito imprimir esos datos
me podrian ayudar.
saludos
sábado, 10 de abril de 2010 14:35
Respuestas
-
hola
pero estas definiendo algun codigo en el evento PrintPage del PrintDocument
mira este link
veras que al rpesionar el boton abre un archivo de texto, que luego usa en el evento PrintPag, usando ev.Graphics.DrawString para indicar la liena que envia a impresionesto que visualzias alli lo estas haciendo ?saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Melvindev lunes, 12 de abril de 2010 11:40
- Marcado como respuesta jtorrecillaModerator miércoles, 6 de octubre de 2010 14:18
sábado, 10 de abril de 2010 14:46 -
Hola.
para poder imprimir el richtextbox tendrias que mandar a dibujar las lineas en la function Drawstring de la clase graphics
corre el siguiente codigo en un formulario diferente .
pega el siguiente codigo
Friend WithEvents PrintDialog1 As System.Windows.Forms.PrintDialog Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox Friend WithEvents PrintDocument1 As System.Drawing.Printing.PrintDocument Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Me.PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Me.PrintDocument1.Print() End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Me.PrintDialog1 = New System.Windows.Forms.PrintDialog Me.Button1 = New System.Windows.Forms.Button Me.RichTextBox1 = New System.Windows.Forms.RichTextBox Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument Me.SuspendLayout() ' 'PrintDialog1 ' Me.PrintDialog1.UseEXDialog = True ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(-1, 218) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(75, 23) Me.Button1.TabIndex = 0 Me.Button1.Text = "Print" Me.Button1.UseVisualStyleBackColor = True ' 'RichTextBox1 ' Me.RichTextBox1.Location = New System.Drawing.Point(-1, 2) Me.RichTextBox1.Name = "RichTextBox1" Me.RichTextBox1.Size = New System.Drawing.Size(257, 210) Me.RichTextBox1.TabIndex = 1 Me.RichTextBox1.Text = "Echale ojo a esta linea de codigo" & vbNewLine & "en el evento print page del printdocument " & vbNewLine & " e.Graphics.DrawString(Me.RichTextBox1.Text, Me.RichTextBox1.Font, Brushes.Fuchsia, 10, 10) " ' 'PrintDocument1 ' ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(257, 242) Me.Controls.Add(Me.RichTextBox1) Me.Controls.Add(Me.Button1) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) 'usa la impresoara que el usuario elija en el cuadro de dialogo Me.PrintDocument1.PrinterSettings.PrinterName = Me.PrintDialog1.PrinterSettings.PrinterName 'imprimira el documento Me.PrintDocument1 Me.PrintDialog1.Document = Me.PrintDocument1 End Sub Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage 'imprimra el contenido del RichTextBox1 e.Graphics.DrawString(Me.RichTextBox1.Text, Me.RichTextBox1.Font, Brushes.Fuchsia, 10, 10) End Sub
ejecuta el programa y veras el texto que aparece lo puedes sutituir al que quieras
preciona el boton Print del Form1 y te aparecera el cuadro de dialogo.
Elije una impresora el cual quieras usar para imprimir y preciona imprimir en el cuadro de dialogo y listo.
y asi espero analices un poco esto ya que requier un poco de logica en las locaciones que dibujaras el texto en la pagina.
Espero te ayude mi comentario y si ayuda lo marques como respouesta valida. y votes por el.
Gracias.
Mark the better answers for you,do not turn off your mind- Propuesto como respuesta Melvindev lunes, 12 de abril de 2010 11:40
- Marcado como respuesta jtorrecillaModerator miércoles, 6 de octubre de 2010 14:18
domingo, 11 de abril de 2010 19:22
Todas las respuestas
-
hola
pero estas definiendo algun codigo en el evento PrintPage del PrintDocument
mira este link
veras que al rpesionar el boton abre un archivo de texto, que luego usa en el evento PrintPag, usando ev.Graphics.DrawString para indicar la liena que envia a impresionesto que visualzias alli lo estas haciendo ?saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Melvindev lunes, 12 de abril de 2010 11:40
- Marcado como respuesta jtorrecillaModerator miércoles, 6 de octubre de 2010 14:18
sábado, 10 de abril de 2010 14:46 -
This Message has been Edited please see the next Message Replied
- Propuesto como respuesta Melvindev domingo, 11 de abril de 2010 16:48
- Editado Melvindev domingo, 11 de abril de 2010 19:24 Edited By Bad Format
- Votado como útil jtorrecillaModerator miércoles, 6 de octubre de 2010 14:18
domingo, 11 de abril de 2010 14:51 -
Hola.
para poder imprimir el richtextbox tendrias que mandar a dibujar las lineas en la function Drawstring de la clase graphics
corre el siguiente codigo en un formulario diferente .
pega el siguiente codigo
Friend WithEvents PrintDialog1 As System.Windows.Forms.PrintDialog Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox Friend WithEvents PrintDocument1 As System.Drawing.Printing.PrintDocument Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Me.PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then Me.PrintDocument1.Print() End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Me.PrintDialog1 = New System.Windows.Forms.PrintDialog Me.Button1 = New System.Windows.Forms.Button Me.RichTextBox1 = New System.Windows.Forms.RichTextBox Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument Me.SuspendLayout() ' 'PrintDialog1 ' Me.PrintDialog1.UseEXDialog = True ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(-1, 218) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(75, 23) Me.Button1.TabIndex = 0 Me.Button1.Text = "Print" Me.Button1.UseVisualStyleBackColor = True ' 'RichTextBox1 ' Me.RichTextBox1.Location = New System.Drawing.Point(-1, 2) Me.RichTextBox1.Name = "RichTextBox1" Me.RichTextBox1.Size = New System.Drawing.Size(257, 210) Me.RichTextBox1.TabIndex = 1 Me.RichTextBox1.Text = "Echale ojo a esta linea de codigo" & vbNewLine & "en el evento print page del printdocument " & vbNewLine & " e.Graphics.DrawString(Me.RichTextBox1.Text, Me.RichTextBox1.Font, Brushes.Fuchsia, 10, 10) " ' 'PrintDocument1 ' ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(257, 242) Me.Controls.Add(Me.RichTextBox1) Me.Controls.Add(Me.Button1) Me.Name = "Form1" Me.Text = "Form1" Me.ResumeLayout(False) 'usa la impresoara que el usuario elija en el cuadro de dialogo Me.PrintDocument1.PrinterSettings.PrinterName = Me.PrintDialog1.PrinterSettings.PrinterName 'imprimira el documento Me.PrintDocument1 Me.PrintDialog1.Document = Me.PrintDocument1 End Sub Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage 'imprimra el contenido del RichTextBox1 e.Graphics.DrawString(Me.RichTextBox1.Text, Me.RichTextBox1.Font, Brushes.Fuchsia, 10, 10) End Sub
ejecuta el programa y veras el texto que aparece lo puedes sutituir al que quieras
preciona el boton Print del Form1 y te aparecera el cuadro de dialogo.
Elije una impresora el cual quieras usar para imprimir y preciona imprimir en el cuadro de dialogo y listo.
y asi espero analices un poco esto ya que requier un poco de logica en las locaciones que dibujaras el texto en la pagina.
Espero te ayude mi comentario y si ayuda lo marques como respouesta valida. y votes por el.
Gracias.
Mark the better answers for you,do not turn off your mind- Propuesto como respuesta Melvindev lunes, 12 de abril de 2010 11:40
- Marcado como respuesta jtorrecillaModerator miércoles, 6 de octubre de 2010 14:18
domingo, 11 de abril de 2010 19:22 -
¡Hola!
¿Fue posible solucionar su problema?
¡Gracias!
Rafael Fagundes - Marque la respuesta como correcta si te ha sido de utilidad!domingo, 25 de abril de 2010 18:59Moderador