Hallo zusammen,
heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:
Mit meiner Anwendung kann man schon Dokumente ausdrucken. Ich möchte aber noch zusätzlich die Möglichkeit zur Druckerauswahl anbieten. Wie kann ich das implementieren?
Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
Im Foreneintrag
Aus der MSDN Hotline: Drucken eines Windows Forms Fensters ohne die Rahmen
vom 2. Dezember 2009 haben wir bereits besprochen, wie man am Einfachsten die Form einer Windows Forms Anwendung ausdrucken kann. Jetzt werde ich dieses Beispiel um die Druckerauswahlfunktionalität erweitern. Dafür wird das Control-Element PrintDialog verwendet.
public partial class Form1 : Form
{
private Bitmap screenshot;
PrintDocument printDocument1 = new PrintDocument();
public Form1()
{
printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
InitializeComponent();
}
private void printButton_Click(object sender, EventArgs e)
{
screenshot = new Bitmap(this.Width, this.Height);
foreach (Control c in this.Controls)
{
Rectangle r = new Rectangle(c.Left, c.Top, c.Width, c.Height);
c.DrawToBitmap(screenshot, r);
}
printDialog1.AllowSomePages = true;
printDialog1.ShowHelp = true;
printDialog1.Document = printDocument1;
DialogResult result = printDialog1.ShowDialog();
if (result == DialogResult.OK)
{
printDocument1.Print();
}
}
private void printDocument1_PrintPage(System.Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(screenshot, 0, 0);
}
}
Mehr Informationen über dieses Beispiel und die Klasse PrintDialog findet man auf den folgenden Webseiten:
1. MSDN: PrintDocument.Print Method
2. MSDN: PrintDialog-Klasse
3. Aus der MSDN Hotline: Drucken eines Windows Forms Fensters ohne die Rahmen
Viele Grüße,
Atanas Dimitrov
MSDN Hotline für MSDN Online Deutschland
Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline

Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen sowie die allgemein gültigen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.