CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Imprimir

(1/1)

daphne:
hola necesito de su gran ayuda se supone que tengo que hacer un programa para poder imprimir numeros consecutivos es decir con un bucle for que en cada hoja me imprima un numero el problema es que me imprime todos los numeros amontonados y en una sola hoja y no se como hacerle para que me imprima un numero en cada hoja este es el codigo que tengo ojala y le entiendan y me digan donde esta el error

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        PrintPreviewDialog1.ShowDialog()
        Dim printdialog1 As New PrintDialog()
        printdialog1.Document = PrintDocument1
        Dim resultado As DialogResult = printdialog1.ShowDialog
        If (resultado = DialogResult.OK) Then
            PrintDocument1.Print()
        End If
    End Sub

    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        Dim a, b As Integer
        a = txtinicio.Text
        b = txtfin.Text
        Dim i As Integer
        For i = a To b
            e.Graphics.DrawString(i, New Font("arial", 20, FontStyle.Bold), Brushes.Black, 510, 310)

           
        Next i

    End Sub

   
End Class

ayudenme porfitas

senzao18:
Por que no pones el ciclo en el boton

--- Código: Text --- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickPrintPreviewDialog1.ShowDialog()Dim printdialog1 As New PrintDialog()printdialog1.Document = PrintDocument1Dim resultado As DialogResult = printdialog1.ShowDialogIf (resultado = DialogResult.OK) Then 'For       PrintDocument1.Print()'EndFor End IfEnd Sub  

daphne:

--- Cita de: "senzao18" --- Por que no pones el ciclo en el boton

--- Código: Text --- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickPrintPreviewDialog1.ShowDialog()Dim printdialog1 As New PrintDialog()printdialog1.Document = PrintDocument1Dim resultado As DialogResult = printdialog1.ShowDialogIf (resultado = DialogResult.OK) Then 'For       PrintDocument1.Print()'EndFor End IfEnd Sub  
--- Fin de la cita ---
 :(   hola senzao18 osea si imprime pero a la hora de mandar a imprimir salen los numeros amontonados y en una sola hoja lo que quiero es que el cada numero se imprima en una hoja por ejemplo el 1 en una hoja, el 2 en otra hoja, el tres en otra hoja y asi sucesivamente. como le puedo hacer por favor ayudame me super urge
gracias espero meentiendas

senzao18:
Una forma rapida de sacar eso es con el siguiente codigo.



--- Código: Text ---     Dim a, b As Integer    Dim i As Integer    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        PrintPreviewDialog1.ShowDialog()        Dim printdialog1 As New PrintDialog        printdialog1.Document = PrintDocument1        Dim resultado As DialogResult = printdialog1.ShowDialog        If (resultado = DialogResult.OK) Then            a = 1            b = 3            For i = a To b                PrintDocument1.Print()            Next        End If    End Sub     Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage        e.Graphics.DrawString(i, New Font("arial", 100, FontStyle.Bold), Brushes.Black, 510, 310)    End Sub  

senzao18:
Otra forma de hacerlo en un solo documento es de la siguiente forma...



--- Código: Text ---   Dim a, b As Integer    Dim i As Integer     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        a = 1        b = 10        i = a         PrintPreviewDialog1.Document = PrintDocument1        ''''Se dispara el evento PrintDocument1_PrintPage        PrintPreviewDialog1.ShowDialog()         Dim printdialog1 As New PrintDialog        printdialog1.Document = PrintDocument1         Dim resultado As DialogResult = printdialog1.ShowDialog        If (resultado = DialogResult.OK) Then            a = 1            b = 10            i = a            ''''Se dispara el evento PrintDocument1_PrintPage            PrintDocument1.Print()        End If    End Sub     Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage         e.Graphics.DrawString(i, New Font("arial", 100, FontStyle.Bold), Brushes.Black, 510, 310)        i += 1        If i > b Then            e.HasMorePages = False        Else            e.HasMorePages = True        End If     End Sub   
Te recomiendo que instales la "impresora" Microsoft Office Document Image Writer
por si en pruebas se te cicla no te mande un chorro de hojas y se hechen a la basura jeje :D.

Pero esta garantizado que ese codigo no se cicla. Almenos que le muevas jaja.

La diferencia entre este codigo y el otro es que solo mandamos una sola ves a imprimir y en el primero mandamos a imprimir varios documentos, uno por ciclo.

Espero y te sea de utilizad.

P.D. Yo no sabia como hacerlo jeje.

Navegación

[0] Índice de Mensajes

Ir a la versión completa