WebBrowserコントロールは意外と使える?

C#でアプリを作っていて、

  • Webページのような、文字や画像を表示してリンクをクリックできる表示領域
  • ただし、通信はHTTPを使わず独自形式
  • リンクをクリックするとURLではなく独自形式のコンテンツに遷移

というようなことをしたかった。

MSDNヘルプでWebBrowserコントロールの説明を読んでいると、やりたかったことが実現できそう。

HTMLをプログラムから、WebBrowserコントロールのDocumentTextプロパティに流し込めば通信をしなくてもWebページが表示できるし、Javascriptでwindows.externalクラスを使うと、.NETアプリの特定の関数を呼ぶことができ、onClickと組み合わせるとHTMLのリンクのクリック処理を完全に制御できるっぽい。

これは使い方によっては使い道のありそうなコントロールのような気がする。単純にHTTPを使ったWeb表示ではなくて、アプリローカルに閉じたコンテンツの表示にも使える。文字や画像やスクリプトも使えるしHTMLを少しローカルアプリ用に作ればHTMLの表現はほぼすべて使えるわけだし…。

明日以降もちょっとこのコントロールでいろいろ遊んでみるつもり。

タイトルとURLをコピーしました