DOBON.NET DOBON.NETプログラミング掲示板過去ログ

htmlソースからの表示

環境/言語:[VB.NET XPPro Windowsフォーム]
分類:[.NET]

dim str as string="<HTML><HEAD>test</HEAD></HTML>"
上記のようなhtmlソースをWebClientで表示する事は可能でしょうか?

WebClientのプロパティ、メソッドではURLを指定することしかできないようなのですが。
他にもhtmlソースから表示できるようなコントロール探してみましたが
comベースのWebBrowserもURLからの表示しかできないみたいでした。
htmlソースを表示できるようなコントロール何かないでしょうか?
■No7825に返信(medakaさんの記事)
> dim str as string="<HTML><HEAD>test</HEAD></HTML>"
> 上記のようなhtmlソースをWebClientで表示する事は可能でしょうか?
WebClientってSystem.Net.WebClientクラスのこと?だったらすこしはクラスのこと調べなよ。htmlを表示するもんじゃないぞ。

> 他にもhtmlソースから表示できるようなコントロール探してみましたが
> comベースのWebBrowserもURLからの表示しかできないみたいでした。
> htmlソースを表示できるようなコントロール何かないでしょうか?
簡単にやりたいなら.NET 2.0がでるまで待ちな
>>他にもhtmlソースから表示できるようなコントロール探してみましたが
>>comベースのWebBrowserもURLからの表示しかできないみたいでした。
>>htmlソースを表示できるようなコントロール何かないでしょうか?

WebBrowserコントロールを用いて簡単に表示させることができますよ。
流れとしては、まず一時的にabout:blankを読み込ませておいて、
あとはWebBrowserコントロールのDocumentプロパティを使って、
Documentオブジェクトを取得すれば、writeすることもできますし、
bodyに直接書き込むこともできます。

少々古いですが、参考になると思います。
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/tutorials/webocstream.asp
ありがとうございます

下記の方法できました

Dim IE As Object
IE = CreateObject("InternetExplorer.Application")
IE.Navigate("about:blank")
IE.Document.body.innerHTML = TextBox1.Text (htmlソース)
IE.Visible = True

最初はツールボックスからMicrosoftWebBrowserを追加してそれでやってみたの
ですが(AxSHDocVw)、これではDocumentプロパティが読み取り専用になってて
できませんでした。

CreateObjectではとりあえず表示はできたのですが、遅延バインディングと
なってしまうのでStrict Offじゃないと動作しませんしプロパティ、メソッドが
わからないのでかなり不便でした。
comオブジェクトでは公開してないのかな?
AxSHDocVwではDocumentプロパティが読み取り専用になるので微妙に違うみたいですし

DOBON.NET | プログラミング道 | プログラミング掲示板