未分類

C# コントロールのスクリーンショットを取得する (1)

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。

サンプルコード (C#)

// 名前空間の追加
using System.Drawing.Imaging;

// コード
private void button1_Click(object sender, EventArgs e)
{
  Rectangle rec = this.RectangleToScreen(button1.Bounds);
  Bitmap bmp = new Bitmap(rec.Width, rec.Height, PixelFormat.Format32bppArgb);
  Graphics g = Graphics.FromImage(bmp);
  g.CopyFromScreen(rec.X, rec.Y, 0, 0, rec.Size, CopyPixelOperation.SourceCopy);
  this.BackgroundImage = bmp;
}

解説

フォームのショットを取得して、フォームのバックグラウンドイメージに貼り付けています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類