WebBrowser
コントロールを使用して埋め込み Web ページを表示するWindows フォーム アプリケーションがあります。ファイルは(正常に)次を使用してロードされます。
webHelp.DocumentStream=
Assembly.GetExecutingAssembly()
.GetManifestResourceStream("MyAssembly.help.html");
これが機能するように (つまり、ファイルをロード/表示するために) webHelp.AllowNavigation = false;
、. 理由はよくわかりませんが、trueにするとページが表示されません。
私の HTML ドキュメント (以下を参照) で、さまざまなセクションをナビゲートできるようにしたいと考えています。しかし、リンクをクリックすると、ブラウザー コントロールが対象の要素に移動しません。Web ページはスタンドアロンの Internet Explorer 10 で正常に動作するため、コントロール、より具体的にはAllowNavigation
プロパティと何らかの関係があるはずです。MSDN はあまり役に立ちませんでした。
このナビゲーション動作を実現するにはどうすればよいですか? AllowNavigation
プロパティを falseに設定せずに HTML ファイルをロードする別の方法はありますか?
これは私の単純な HTML ファイルです。
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Using this tool</title>
</head>
<body>
<h3>Description</h3>
<div><p id="contents">Contents</p></div>
<div>
<p id="general">Using the file converter</p>
<p>*converter description*</p>
<a href="#contents" class="goToTop">Go To Top!</a>
</div>
<div class="divBlock" >
<p id="selectOption">Selecting a conversion action</p>
<p>*action selection*</p>
<a href="#contents" class="goToTop">Go To Top!</a>
</div>
</body>
</html>
編集:追加のテストの後、問題の根本を見つけました。この問題は、URL
プロパティの値を設定し、アプリケーションを実行してから、この値をクリアした後に発生しました。AllowNavigation
プロパティが に設定されていない限り、埋め込みページは読み込まれませんfalse
。以下の私の回答で説明されている2つの解決策があります。