Web ブラウザー コントロールを保持する Windows フォームがあります。その Web ブラウザーは、その位置を固定位置で自動的に変更します。
最初にナビゲートを位置 X に設定し、次にフォームからキャプチャを取得し、位置を Y に変更して、別のキャプチャも取得します。
私の問題は、ナビゲーションを使用して次のように配置することです
webBrowser1.Navigate("javascript:window.scroll(0," + X + ");");
したがって、UI に位置の変更を伝えてからキャプチャ コードを実行する必要があります。終了後、同じ方法で位置を Y に再変更し、UI の終了を伝えてからキャプチャする必要があります。
バックグラウンドワーカーを使用しようとしましたが、サポートされませんでした。スレッド化も試しましたが、スレッド化をうまく処理できないため、キャプチャする前にUIがナビゲートしませんでした。私は次のようにスレッディングを使用します:
ThreadStart captureFunc = new ThreadStart(CaptureScreen);
Thread captureThread = new Thread(captureFunc);
captureThread.Start();
while (!doneVal)
{
}
captureThread.Abort();
whileCaptureScreen
は私のキャプチャ関数でdoneVal
あり、デフォルトの false の値であり、キャプチャ後に true に変更されます。どんな助けでも大歓迎です。