C# Screenshot von Form (mit WebBrowser-Control) erstellen, auch wenn anderen Programm

Hallo,

Ich habe ein Problem mit ScreenShots von Browsern.

Eine Form soll von einer anderen Form der selben Anwendung einen Screenshot machen. Problem dabei ist jedoch wenn ein anderes Programm oder die Andere Form darüber sind, so sind diese zu sehen und nicht die eigentliche Form.

Wie genau mache ich jetzt ein Screen von der Form die ich haben will

mit


Graphics gfx = form.CreateGraphics();
Bitmap screenshot = new Bitmap(form.Width, form.Height);
form.DrawToBitmap(screenshot, new Rectangle(0, 0, form.Width, form.Height));

ist das bild leer bzw. grau also ein Inhalt in der Form

Ich hoffe auf Lösungen Danke :confused:

Moin,

Du erstellst ein Graphics-Object von der Form, dann erzeugst Du eine neue leere Bitmap in Größe der Form (richtig), anschließend zeichnest Du die leere Bitmap auf die Form - das muss aber anders rum.

Du musst das Paint-Ereigniss der Form auslösen und C# dabei, über die PaintEventArgs, Deine Bitmap unterschummeln. Ist in Java etwas leichter gelöst.

Hay Danke =) kannst du mir jetzt noch sagen wie ich das mit dem Paint-Ereigniss mache habe heute schon soviel versucht bin da raus =D

deinControl.Invalidate();