Benutzer mit den meisten Antworten
Screenshot mit Textbox aber Inhalt wird nicht angezeigt

Frage
-
Erstmal ein nettes Hallo,
ich zerbreche mir hier irgendwie den Kopf und komme einfach auf keine Lösung. Bei meinem Programm durchläuft der Nutzer mehrere Tabs mit Fragen und bekommt am Ende eine Auswertung. Diese soll er per Screenshot ausgeben können. Dazu soll er lediglich einen Button drücken und fertig.
Soweit funktioniert das auch aber er gibt die Auswertung, also den Text in den Textboxen und die Textboxen an sich einfach nicht aus. Im vorletzten Tab drückt er den Button "Auswerten" und kommt dadurch auf den letzten Tab, bei dem er die Auswertung angezeigt bekommt. Ich habe das Gefühl, dass das an der "ActiveForm" liegt. Komme aber wie gesagt nicht weiter. Ich danke euch schon für eure Antworten.
Das ist der Button zum Screenshot erstellen:
private void button39_Click(object sender, EventArgs e) { var frm = ActiveForm; using (var bmp = new Bitmap(frm.Width, frm.Height)) { frm.DrawToBitmap(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height)); bmp.Save(@"" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\screenshot.png"); } }
Antworten
-
Das löst das Problem.
Bitmap bmp; private void button39_Click(object sender, EventArgs e) { //Screenshot Graphics g = this.CreateGraphics(); bmp = new Bitmap(this.Size.Width, this.Size.Height, g); Graphics mg = Graphics.FromImage(bmp); mg.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, this.Size); bmp.Save(@"" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\screenshot.png"); } private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { e.Graphics.DrawImage(bmp, 0, 0); }
- Als Antwort markiert doofydoof Freitag, 28. Juli 2017 11:31
Alle Antworten
-
Hi,
füge mal frm.Show(); ein, um zu sehen, ob überhaupt etwas angezeigt wird, was auszugeben ist.--
Viele Grüsse
Peter Fleischer (ehem. MVP)
Meine Homepage mit Tipps und Tricks -
Das löst das Problem.
Bitmap bmp; private void button39_Click(object sender, EventArgs e) { //Screenshot Graphics g = this.CreateGraphics(); bmp = new Bitmap(this.Size.Width, this.Size.Height, g); Graphics mg = Graphics.FromImage(bmp); mg.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, this.Size); bmp.Save(@"" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\screenshot.png"); } private void printDocument1_PrintPage(object sender, PrintPageEventArgs e) { e.Graphics.DrawImage(bmp, 0, 0); }
- Als Antwort markiert doofydoof Freitag, 28. Juli 2017 11:31