Komplette Form drucken
-
Hallo zusammen,
habe nun zu meinem Programm eine Druckfunktion mit Druckvorschau hinzugefügt. Soweit klappt das auch alles, aber ich arbeite mit der CaptureScreen() Methode. Problem hierbei ist, dass ich nicht alles drauf bekomme, bzw. wenn das Fenster minimiert ist, nur der zu sehende Ausschnitt angezeigt und gedruckt wird.
Wie kann ich sicherstellen, dass immer die gesamte Form Anwendung durchlaufen wird und ausgegeben wird. Kann gern auch auf zwei Seite gedruckt werden, aber ich komme nicht darauf wie ich alles drucken kann.Wäre super wenn mir einer helfen könnte
-
ScreenCapture ist vor allen Dingen dann sinnvoll, wenn du mehr als nur die Form brauchst. Um einfach die Form oder ein anderes Steuerelement als Grafik zu erhalten oder zu speichern kannst du auch DrawToBitmap(); verwenden.
Bitmap b = new Bitmap(this.Width, this.Height); this.DrawToBitmap(b, new Rectangle(0, 0, this.Width, this.Height)); //ggf.: b.Save("C:\\**\\Otti\\Desktop\\test.bmp"); //bzw. b.Save(@"C:\**\Otti\Desktop\test.bmp");
-
Danke
Das heißt wenn ich nun das Bitmap erstellt habe muss ich es speichern und als PrintDocument wieder aufrufen oder kann ich es direkt an den Drucker weitergeben?
Denn speichern möchte ich es nicht unbedingt, wenn es nicht anders geht, kann ich es ja nach dem Drucken wieder löschen.
Gruß
-
#Darius# schrieb:
//ggf.: b.Save("C:\\**\\Otti\\Desktop\\test.bmp"); //bzw. b.Save(@"C:\**\Otti\Desktop\test.bmp");
Die Betonung liegt auf GGF >> Gegebenenfalls. Ich hab noch nicht mit so Druckerkram gearbeitet aber laut einem Eintrag auf dotnetspieder.com kannst du einfach den EventHadnler der PrintPage Methode verwenden und per
e.Graphics.DrawImage(i, new Point(0, 0));
drucken.. << Die Suche mit google wirkt manchmal Wunder
Musst dir mal die Methodenbeschreibung ansehen. Ich persönlich weiß nicht ob der Punkt/das zweite Argument, die Position auf der Seite ist, oder die Position ab der er das Bild druckt, wobei ich ersteres vermuten würde.
Auch spuckt google diesen Eintrag aus, der auch die Capture-Methode verwendet, vielleicht kannst du ja auch damit was Anfangen. Im Enteffekt geht das Drucken ab er auch über den Event-Handler, sofern..
LG Darius.