画面をキャプチャしたいのですが、現在のフォームがなければ、最小化 -> キャプチャ -> 最大化しようとしましたが、より良い解決策があれば探しています。これは私のコードでした::
int w = this.Width;
int h = this.Height;
Size sz = this.Size;
Point loc = this.Location;
this.WindowState = FormWindowState.Minimized;
System.Threading.Thread.Sleep(500);
using (Bitmap b = new Bitmap(w, h))
{
using (Graphics g = Graphics.FromImage(b))
{
g.CopyFromScreen(loc, new Point(0, 0), sz);
}
b.Save(Environment.CurrentDirectory + "\\slides\\screen.jpeg");
this.BackgroundImage = System.Drawing.Image.FromFile(@"slides\screen.jpeg");
}
this.WindowState = FormWindowState.Maximized;
そして、キャプチャした画像を保存せずにフォームの背景として配置する直接的な方法があるかどうかを尋ねます。