1

2つのパネルを作成するC#4.0 Windowsフォームアプリケーションを作成しました。これらのパネルには、両方ともテキストラベルのみが入力されています。これらのパネルをフォームに表示されているとおりに正確に印刷する機能をアプリケーションに追加したいのですが、これらのパネルとそのコンテンツのみを印刷し、フォームの背景やその他の部分は印刷しません。

このリンクは概要として特に役立ちましたが、これまでのところ、フォームのスクリーンキャプチャに相当するものしか印刷できません。フォーム全体、ボタン、トリム、背景、およびすべてが含まれています。グラフィックスオブジェクトを作成してフォームを「再構築」し(使用する必要のある特定のグラフィックス関連のクラスがわからないため、この用語を一般的に使用します)、どういうわけかパネルのコンテンツをこれに転送する必要があるようです。物体。

私の質問は、このグラフィカルオブジェクトを構築するために、どのクラスやメソッドを調査する必要があるかということです。また、知っておくと便利です。PrintDocumentオブジェクトを作成するときに、結果を1つのページに自動的に合わせるための、.NET Frameworkまたはライブラリ内の便利なトリックはありますか?

4

1 に答える 1

1

OK、私はそれを行う1つの方法を見つけました(私のPerlブラザーズが大好きです):

両方のパネルを別の親パネルでラップします。parentPanelこのパネルを「 。」と呼びましょう。(memoryBitmap)のサイズのビットマップ()を作成します。parentPanelparentPanel.Size

次へparentPanel.DrawToBitmap(memoryBitmap, new Rectangle(parentPanel.Location, parentPanel.Size:)

次に、印刷ページのイベントハンドラで次の手順を実行します。e.Graphics.DrawImage(memoryBitmap, 0, 0)

他の誰かがより良いアイデアを持っている可能性が高い場合は、これを開いたままにしておきます。

于 2012-11-05T02:54:44.157 に答える