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>