2012-07-19 20 views
5

ローカルHTMLページの数があります。私はこれらのローカルHTMLページをWebブラウザコントロールで表示したいと思います。新しいページを追加すると、前のページに追加する必要があります。ここでC#のWebブラウザーコントロールでローカルHTMLページを読み込む方法

は、設定のURL

for(int i=0; i<=filecount; i++) 
    web-browser.Url = new Uri(filepath[i]); 

のサンプルコードである。しかし、実行時にそのがポップアップし、Webブラウザが空のファイルのダウンロードを示します。

+0

あなたのfilepath [i]変数には何がありますか?ローカルファイルの場合は、その前に "file://"を追加します。また、あなたはweb-browser.Navigate()機能を使用しないでください? –

答えて

0
webrowser.Navigate(filepath[i]); 

私が覚えているような何かを...;)

18

あなたがイメージを持っている場合は、

FileStream source = new FileStream(filepath, FileMode.Open, FileAccess.Read); 
webBrowser1.DocumentStream = source; 

あるいは

string html = File.ReadAllText(filepath); 
webBrowser1.DocumentText = html; 

などの単一のページを読み込むしかし、可能性、cssまたはjsを相対パスで使用すると、

Uri uri = new Uri(filepath); 
webBrowser1.Navigate(uri); 
+1

ありがとうMobel。今は動作していますが、画像を表示できません。 – Mayuresh

+0

関連する画像とともにhtmlをロードする場合は、var uri = new Uri(filepath)のようなNavigateメソッドを使用します。 webBrowser1.Navigate(uri); –

+1

あなたが何らかのフォルダの代わりにあなたのソリューションの一部としてそれらのhtmlファイルを探しているなら、あなたはそれらのhtmlファイルや関連ファイルをあなたのプロジェクトにコンテンツとして、そしてプロパティを "出力ディレクトリにコピー"に変えることができます: 。文字列curDir = Directory.GetCurrentDirectory();のようにロードします。 var url = new Uri(String.Format( "file:/// {0}/{1}"、curDir、 "test.html")); webBrowser1.Navigate(url); –

関連する問題