2013-06-14 4 views
5

私はC#.NET(Windowsフォームを使用)でフォームを一番上にクリック可能な拡大鏡を開発しています。この一番上のウィンドウには、画面の特定の部分が表示されます。ちらつきのない一番上のフォームを切り替える

私が持っている問題は、Hide()Show()に必要なスクリーンショットを撮ることです(それ以外の場合は、私は拡大鏡のスクリーンショットを撮るでしょう)。これは、虫が消えて、 。

フォームを隠したり表示したりせずにデスクトップのスクリーンショットを撮るにはどうすればよいですか? 別のアプローチ/回避策がありますか?

ありがとうございました。

+0

関連:[スクリーンキャプチャからの特定のウィンドウの除外](0120-18753) –

+0

拡大鏡の内側の領域のスクリーンショットを撮りたいと言っていますかまたは拡大鏡の下にある領域のスクリーンショットを撮りたい(拡大されていない領域を読み取る)ことはできますか? –

+0

http://msdn.microsoft.com/en-us/library/windows/desktop/ms692162%28v=vs.85%29.aspxを見て、私はそれを使用していない。私はあなたがこの質問で探しているものではないと確信していますが、あなたのプロジェクトに役立つかもしれません。 – Odys

答えて

3

フォームの不透明度プロパティを使用します。デザイナーで99%に設定します。スクリーンショットを撮る準備ができたら、0に設定し、ショットを作り、0.99に戻します。

変更は瞬時であり、待機する必要はなく、ちらつきや再描画は不要です。 ではなく、を1.0に復元すると、その点滅します。

ルーペから「Hall of Mirrors」エフェクトを削除することに注意してください。喪失のビット:

+0

ありがとう、確かに、変更はずっと速く、ちらつきはほとんどなくなり、ほとんど目に見えません。 ところで、私は "鏡のホール"の効果が "消えた"ことに気付かなかった...あなたはどういう意味ですか? – adelriosantiago

関連する問題