私は3つのパネルを持つフォームを持っています。上部のパネルにはリストボックス、中央のパネルにはグリッド、下部のパネルにはグリッドがあります。下のグリッドのスクリーンショットを撮る必要がありますが、グリッドにさらに多くの行があり、すべての行を表示するにはスクロールする必要があります。私はスクリーンショットを撮る前にフォームのサイズの下のグリッドを作成したいと思います。これを行うには、2つのトップパネルの.Visibleをfalseに設定します。私の問題は、フォームのサイズとしてグリッドを表示するために、フォームが再描画される前にスクリーンショットが取得されることです。スクリーンショットを取得するコードを実行する前に、フォームが再描画/再描画されたことをどうすれば保証できますか?Winformsペインティングは同期または非同期ですか?
私はスクリーンショットを撮るためにCapture screenshot of active window?のArsenMkrtの答えを使用しています。
EDIT:グリッドはInfragistics UltraGridです。
@ハンスはあなたのコメントを回答し、私はそれを受け入れるでしょう。 Update()は完全に機能しました。 –