左側にさまざまなコントロールで構成されるフォームがあり、本体は他のコントロールによって作成された HTML ファイルを表示するブラウザー ウィンドウです。ファイルを生成した後、スクロール ホイールが機能するようにブラウザ ウィンドウにフォーカスを設定しようとしています。
すべてのODD試行ではこれが機能しますが、EVEN試行では機能しません。
出力を生成する 2 つのコード パス (どちらもボタン クリックから開始) があり、どちらも次のようになります。
Browser.Focus();
Browser.DocumentText = RenderAsHTML();
最初のボタンは左側のリストボックスも更新しますが、2 番目のボタンは更新しません。奇数/偶数パターンは、押されたボタンに依存しません。
ここで何が起こっているのですか?
以下の応答を試してから、それに物を投げると、非常に興味深いことがわかりました。
システムは、ウィンドウがフォーカスされていると認識しています。Browser.Focused は、スクロール ホイール メッセージを受け付けていない場合でも true を返します。
さらに奇妙にするために、いくつかの変数を表示するメッセージボックスをそこに投げるというテストを行いました.そして、そのボックスがクリアされて画面に戻ると、スクロールホイールは100%動作しました. MessageBox.Show 行のみを削除すると、古い動作に戻りました。