Autor Tema: imprimir un form completo en visual basic 2010  (Leído 43472 veces)

taliban

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 18
    • Ver Perfil
imprimir un form completo en visual basic 2010
« en: 30 de Marzo 2014, 13:33 »
hola ,mi problema,  no se como conseguir que me imprima todo el form ordenado cada textbox en su sitio y si hay alguna forma mejor de hacerlo, o si se puede con un codigo imprimir todo el form
ami me imprime line sobre linea , una en cima de otra

Código: [Seleccionar]
Private Sub btnimprimirfactura_Click(sender As System.Object, e As System.EventArgs) Handles btnimprimirfactura.Click
        If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
            PrintDocument1.Print()

        End If

    End Sub

    Private Sub PrintDocument1_PrintPage(sender As System.Object, e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        e.Graphics.DrawString(IdTextBox.Text, New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 10, 10)
        e.Graphics.DrawString(NombreTextBox.Text, New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 100, 20)
        e.Graphics.DrawString(ApellidosTextBox.Text, New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 14, 14)
        e.Graphics.DrawString(NombreempresaTextBox.Text, New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 16, 16)

        e.Graphics.DrawString(Elemento1TextBox.Text, New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 18, 18)
        e.Graphics.DrawString(Importe1TextBox.Text, New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 19, 19)
    End Sub
« Última modificación: 31 de Marzo 2014, 13:00 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Re:imprimir un form completo en visula basic 2010
« Respuesta #1 en: 30 de Marzo 2014, 21:39 »
Hola, para imprimir un form completo:

En la parte izquierda de Visual Basic cuando estás en la vista de diseño te aparecen distintas partes: Controles Comunes (puntero, button, checkbox, label, textbox, etc.), Contenedores, Menús y barras de herramientas...

Busca donde pone "Visual Basic Power Packs", ahí te aparecen distintos controles como puntero, printform, lineshape, ovalhshape, rectangleshape... Arrastra el control que se llama "PrintForm" al formulario (aparecerá en la parte inferior del formulario, no encima de él)

Comprueba que en las propiedades del PrintForm tengas la propiedad "PrintAction" con valor PrintToPrinter

En el botón que quieras sirva para imprimir añade esto:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        PrintForm1.Print()
    End Sub

De este modo al pulsar en el botón de imprimir te imprimirá el formulario completo.

taliban

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 18
    • Ver Perfil
Re:imprimir un form completo en visula basic 2010
« Respuesta #2 en: 31 de Marzo 2014, 12:22 »
gracias lo he probado y funciona muy bien , pero al imprimir no me sale el formulario completo , no imprime una parte de la derecha y no se porque

Código: [Seleccionar]
Private Sub btnimprimirfactura_Click(sender As System.Object, e As System.EventArgs) Handles btnimprimirfactura.Click

        Dim configpg As PageSettings
        Dim configprt As PrinterSettings
        configpg = New PageSettings
        configprt = New PrinterSettings
        PageSetupDialog1.PageSettings = configpg
        PageSetupDialog1.AllowPrinter = True
        PageSetupDialog1.PrinterSettings = configprt
        PageSetupDialog1.ShowDialog()
        MessageBox.Show("Ha elegido la impresora  " & "  en papel  " & PageSetupDialog1.PageSettings.PaperSize.PaperName & "  en formato  " & (IIf(PageSetupDialog1.PageSettings.Landscape, "  Horizontal  ", "  Vertical  ")))


        ' If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then


        'PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
        PrintForm1.Print()

        'PrintDocument1.Print()

        ' End If

    End Sub

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Re:imprimir un form completo en visual basic 2010
« Respuesta #3 en: 31 de Marzo 2014, 12:49 »
¿Puede ser que el tamaño del formulario sea más grande de lo que cabe en la página? Si fuera eso podrías modificar el tamaño del formulario o el tamaño de la página...
« Última modificación: 31 de Marzo 2014, 13:00 por Ogramar »

taliban

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 18
    • Ver Perfil
Re:imprimir un form completo en visual basic 2010
« Respuesta #4 en: 31 de Marzo 2014, 23:58 »
hola he reducido el tamaño del formulario y lo imprime todo pero no ocupa el tamaño completo de la hoja  a4,hay algun código para eso o es problema de la impresora ?  gracias

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2635
    • Ver Perfil
Re:imprimir un form completo en visual basic 2010
« Respuesta #5 en: 01 de Abril 2014, 16:54 »
Para permitir que el usuario elija la página haz esto:

En la parte izquierda de Visual Basic cuando estás en la vista de diseño te aparecen distintas partes: Controles Comunes (puntero, button, checkbox, label, textbox, etc.), Contenedores, Menús y barras de herramientas...

Busca donde pone "Impresión", ahí te aparecen distintos controles como puntero, pageSetupDialog, PrintDialog, etc. Arrastra el control que se llama "PrintDialog" al formulario (aparecerá en la parte inferior del formulario, no encima de él).

Ahora en el código para el botón imprimir pon esto:

Código: [Seleccionar]
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If PrintDialog1.ShowDialog() Then
            PrintForm1.PrinterSettings = PrintDialog1.PrinterSettings
            PrintForm1.Print()
        End If
    End Sub

Ahora te debe aparecer una ventana donde te dará opciones a elegir la impresora, etc. Si pulsas en preferencias puedes establecer que te ajuste el tamaño, elegir la orientación del papel, etc. así puedes sacarlo como quieras.


 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".