最近C#を始めたのですが、フォームをコピーする際に
Bitmap myBmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(myBmp, new Rectangle(0, 0, this.Width, this.Height));
Clipboard.SetDataObject(myBmp, false);
といった風にコピーをしていたのですが、これではフォーム全体がコピーされ、縁ができてしまいます。範囲指定してフォームコピーをする方法はないでしょうか。
No.1ベストアンサー
- 回答日時:
こんばんは。
クライアント領域のスクリーンショットを取りたいのでしょうか。
DrawToBitmap()を呼ぶとフォームの外枠も含まれるので、もう一つ用意しておいたビットマップに向かって、外枠の分だけずらして転送します。
後はクリップボードに向かって送ってあげれば、外枠を抜いたスクリーンショットが取れているはずです。
以下参考程度に。
//フォームからスクリーンショットを撮る
Bitmap myBmp = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(myBmp, new Rectangle(0, 0, this.Width, this.Height));
//外枠を除外されたスクリーンショット
Bitmap sendBmp = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);
//外枠を除外して転送
Graphics gfx = Graphics.FromImage(sendBmp);
gfx.DrawImage(myBmp, this.PointToClient(this.Location));
//クリップボードに送る
Clipboard.SetDataObject(sendBmp, true);
//後始末
sendBmp.Dispose();
myBmp.Dispose();
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- 英語 Statistically significant differences (p < 0.05), 5 2022/05/03 01:09
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストボックスの選択解除
-
VB.net(VB)で、フォームにExcel...
-
Access 無操作の場合、自動で閉...
-
Access2010で動的コントロール...
-
VBAにてメッセージボックスを最...
-
accessで2つ以上のフォームを起...
-
フォームを1つだけ閉じる方法は?
-
ExcelVBAでフォーム内でブック...
-
WithEvents変数について
-
PDFフォームに本日の日付を自動...
-
PDFフォーム内で日付計算したい...
-
アクセスVBA フォームのス...
-
アクセス フォームが存在する...
-
フォームの左上のアイコンだけ...
-
ユーザーフォーム上にアイコン...
-
ボタン押下でサブフォームのレ...
-
サブフォームの新規レコードに...
-
VB.NET 親フォームから子フォー...
-
ACCESS フォーム、クエリの最前...
-
ASP.NETとC#でWebフォームを呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VB.net(VB)で、フォームにExcel...
-
Accessでフォームから別フォー...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
ユーザーフォーム上にアイコン...
-
アクセスVBA フォームのス...
-
VBプログラムの終了
-
アクセス フォームが存在する...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
メッセージボックスの背景色
-
PDFフォーム内で日付計算したい...
-
VBA リストボックスをダブルク...
-
Access 無操作の場合、自動で閉...
-
ディスプレイ解像度より大きな...
-
フォーム上の全てのコントロー...
-
ToolStripStatusLabelを固定し...
おすすめ情報