C#でアプリを作っていて、
- Webページのような、文字や画像を表示してリンクをクリックできる表示領域
- ただし、通信はHTTPを使わず独自形式
- リンクをクリックするとURLではなく独自形式のコンテンツに遷移
というようなことをしたかった。
MSDNヘルプでWebBrowserコントロールの説明を読んでいると、やりたかったことが実現できそう。
HTMLをプログラムから、WebBrowserコントロールのDocumentTextプロパティに流し込めば通信をしなくてもWebページが表示できるし、Javascriptでwindows.externalクラスを使うと、.NETアプリの特定の関数を呼ぶことができ、onClickと組み合わせるとHTMLのリンクのクリック処理を完全に制御できるっぽい。
これは使い方によっては使い道のありそうなコントロールのような気がする。単純にHTTPを使ったWeb表示ではなくて、アプリローカルに閉じたコンテンツの表示にも使える。文字や画像やスクリプトも使えるしHTMLを少しローカルアプリ用に作ればHTMLの表現はほぼすべて使えるわけだし…。
明日以降もちょっとこのコントロールでいろいろ遊んでみるつもり。
コメント