0

重複の可能性:
ダイアログのエアロ フェードイン効果を無効にする

ユーザーがフォームで [OK] を押したときに、アプリケーションのスクリーン ショットを撮ろうとしています。ユーザーが [OK] を押すと、フォームがアンロードされ、MDI フォームのスクリーン ショットが取得されます。

ただし、Windows 7 の Aero テーマでは、フォームはすぐには消えず、フェードアウトします。そのため、スクリーン ショットを取得するコードは、フォームが完全に消える前に発生します。

フォームが 100% なくなるまでコードを停止させる方法はありますか? 私は睡眠について考えましたが、もっとエレガントなものを望んでいました.

4

1 に答える 1

2

属性DwmSetWindowAttribute()で呼び出すことができます。DWMWA_TRANSITIONS_FORCEDISABLEDこれにより、すぐに消えるようになります。

私の状況では、メッセージ ボックスを表示した後にスクリーンショットを撮っていたので、 200ms にフォールバックする必要がありましたSleep()

于 2012-10-09T13:16:25.950 に答える