Sdílet prostřednictvím


Gewusst wie: Anzeigen eines Formulars in der Seitenansicht

Aktualisiert: November 2007

In diesem Beispiel wird veranschaulicht, wie Sie eine Kopie des aktuellen Formulars in der Seitenansicht anzeigen.

Beispiel

[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern long BitBlt (IntPtr hdcDest, 
    int nXDest, int nYDest, int nWidth, int nHeight, 
    IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
private Bitmap memoryImage;
private void CaptureScreen()
{
    Graphics mygraphics = this.CreateGraphics();
    Size s = this.Size;
    memoryImage = new Bitmap(s.Width, s.Height, 
        mygraphics);
    Graphics memoryGraphics = Graphics.FromImage(
        memoryImage);
    IntPtr dc1 = mygraphics.GetHdc();
    IntPtr dc2 = memoryGraphics.GetHdc();
    BitBlt(dc2, 0, 0, this.ClientRectangle.Width,
        this.ClientRectangle.Height, dc1, 0, 0, 
        13369376);
    mygraphics.ReleaseHdc(dc1);
    memoryGraphics.ReleaseHdc(dc2);
}
private void printDocument1_PrintPage(System.Object 
    sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    e.Graphics.DrawImage(memoryImage, 0, 0);
}
private void printButton_Click(System.Object sender, 
    System.EventArgs e)
{
    CaptureScreen();
    printPreviewDialog1.Show();
}

Kompilieren des Codes

Für dieses Beispiel benötigen Sie:

  • Eine PrintDocument-Komponente mit dem Namen printDocument1 mit einem PrintPage-Ereignishandler

  • Eine PrintPreviewDialog-Komponente mit dem Namen printPreviewDialog1. Die Document-Eigenschaft muss auf printDocument1 festgelegt sein.

  • Ein Button-Steuerelement mit dem Namen printButton mit einem Click-Ereignishandler

Die bestehenden Ereignishandler werden durch den Beispielcode ersetzt. Sobald auf printButton geklickt wird, wird das Formular in der Seitenansicht angezeigt.

Robuste Programmierung

Unter den folgenden Umständen können Ausnahmen auftreten:

  • Sie verfügen nicht über die entsprechende Berechtigung für den Zugriff auf den Drucker.

  • Sie verfügen nicht über die entsprechende Berechtigung, nicht verwalteten Code zu verwenden.

  • Es ist kein Drucker installiert.

  • Das Dialogfeld Seitenansicht wurde zuvor entfernt. Diese Situation tritt ein, nachdem das Dialogfeld Seitenansicht geschlossen wurde.

Sicherheit

Um dieses Beispiel ausführen zu können, müssen Sie über die Berechtigung verfügen, nicht verwalteten Code auszuführen und auf den Drucker zuzugreifen.

Siehe auch

Konzepte

Entwerfen einer Benutzeroberfläche in Visual C#

Weitere Ressourcen

Anpassen, Anzeigen und Drucken von Windows Forms

Einführung in Visual C#