Seleccionar impresora desde PrintPreview

Cuando creamos un PrintPreview en C# y presionamos sobre el botón de Imprimir, éste automáticamente nos envía el documento a la impresora por defecto del sistema.

Si queremos que al darle a dicho botón nos muestre el cuadro de dialogo para seleccionar la impresora debemos hacer lo siguiente:

- Agregamos las siguientes variable:

   PaperSize paperSize = new PaperSize("A4", 827, 1169);// Establecemos el tamaño  

- Agregar en las acciones del botón:

ToolStripButton b = new ToolStripButton();
b.Image = ((System.Windows.Forms.ToolStrip)(printPreviewDialog1.Controls[1])).ImageList.Images[0];
b.DisplayStyle = ToolStripItemDisplayStyle.Image;
b.Click += printPreview_PrintClick;
((ToolStrip)(printPreviewDialog1.Controls[1])).Items.RemoveAt(0);
((ToolStrip)(printPreviewDialog1.Controls[1])).Items.Insert(0, b);
printPreviewDialog1.ShowDialog();

- Agregar la siguiente Función:

private void printPreview_PrintClick(object sender, EventArgs e)
{
   try
   {     
      printDocument1.DefaultPageSettings.PaperSize = paperSize;                
      printDialog1.Document = printDocument1;
      if (printDialog1.ShowDialog() == DialogResult.OK)
      {
         printDocument1.PrinterSettings = printDialog1.PrinterSettings;
         printDocument1.Print();
      }
   }
   catch (Exception ex)
   {
      MessageBox.Show(ex.Message, ToString());
   }
}

Nota: Los nombres hay que ajustarlos a las necesidades de cada uno.
Ejemplo: <html><a href=“#” target=“_blank”>Descarga</a></html>


Navegación

<html><a href=“/softwareprogramacion”>Software de programación</a></html>

Ayuda al servidor