2つのWebBrowserコンポーネントで構成されるカスタムテキストボックス(読み取り専用)を使用しています。複雑なレイアウトでテキストを表示しています(HTMLコードの生成は、このようなテキストビューアを作成するための最も簡単なオプションでした)。
また、すべてのコンポーネントでmousedownイベントをバインドしています。
foreach (HtmlElement html in webBrowser1.Document.All)
{
html.MouseDown += new HtmlElementEventHandler(Scrollback_Clicked);
}
これは、htmlソースのロードを終了するたびに発生します。(これは関係ありませんが、それが機能しない理由である場合に備えて、私が行ったWebBrowserコントロールの唯一のカスタマイズです)
ただし、数百回のリロード後、テキストボックスは約2GBのRAMを消費します。これは、これまでに生成されたすべてのHtmlDocumentsを格納するbrowsercontrolが実装したキャッシュであると思われます。
WebBrowserコントロールのキャッシュを無効化またはフラッシュする方法はありますか?