BitBlt
と を使用して画面に直接描画していますGetDC(IntPtr.Zero)
。完了時に画面全体で Refresh または Invalidate を呼び出す方法はありますか?
更新: 私のように画面に直接描画すると、描画したものは、その下のウィンドウが再描画されるまでそこに残ります(そうすることで、それが覆っている画面の部分が再描画されます)。
問題は、Windows デスクトップの一部が長期間再描画されないことです。たとえば、タスク バーの上に描画すると、実際のタスクは ([スタート] ボタンなどと共に) かなりすばやく再描画されますが、タスク バー自体は描画した内容を数分間保持します。
アプリに画面全体をカバーするウィンドウがある場合、Invalidate()
そのフォームを呼び出すだけで、それ自体が再描画され、画面全体が再描画されます。私が必要としているのは、何らかの方法で呼び出すInvalidate
かRefresh
、画面全体で行うことです。