Form samt Komponenten drucken



  • Hi Leute,

    ich möchte gerne ein komplettes Form oder ein Panel mit allen Komponenten
    die sich darauf befinden drucken.

    Mit meinem Code in der PrintPage Methode wird jedoch nur
    das weiße Form bzw. das weiße Panel gedruckt.
    Wie bekomme ich die Komponenten mit auf mein Bild?

    Bitmap bitmap = new Bitmap(this.panelMain.Width, this.panelMain.Height);
    this.panelMain.DrawToBitmap(bitmap, e.PageBounds);
    e.Graphics.DrawImage(bitmap, new Point(15, 50));
    

    Gruß
    Jeg



  • Lauf einfacher über alle Controls des Forms und lass diese mit Zeichnen.



  • ich glaub das einfachste waere die screenshot funktion



  • @Firefighter: Hab ich mir auch schon gedacht, klingt ja eigenlich logisch.
    @Mr Evil: Glaube das würde mir am besten gefallen, das Problem: Dann werden die Texte in richTextBoxen nicht vollständig dargestellt. Aber man könnte das Problem ja leicht umgehen denke ich.

    ABER!!! Jetzt kommt das verwirrendste! Ich habe ein wenig damit rumgespielt und mein Form mit unterschiedlichen Komponenten ausgestattet. Und siehe da, Labels, textBoxen sowie Hintergrundbilder werden alle Problemlos gedruckt. richTextBoxen, Checkboxen etc. jedoch nicht. Also jetzt versteh ich nichts mehr!

    Gruß
    Jeg



  • Dazu musst du nur in der MSDN lesen:

    MSDN schrieb:

    Die DrawToBitmap-Methode weist die folgenden Einschränkungen auf.

    • Bei großen Bitmaps wird möglicherweise eine ArgumentException ausgelöst. Die zulässige Höchstgröße hängt vom Computer ab.
    • [...]
    • DrawToBitmap zeichnet keine untergeordnete TextBox, wenn die Visible-Eigenschaft der TextBox auf false festgelegt ist.
    • Steuerelemente in Containern werden in umgekehrter gerendert.
    • DrawToBitmap ist für die RichTextBox nicht völlig funktionsfähig. Es wird nur der Rahmen einer Bitmap gezeichnet.

Anmelden zum Antworten