2

私はこのプロジェクトに取り組んでおり、フォーム上に WebBrowser オブジェクトがあります。オブジェクトの目的は、HTML フォームにロードして表示することですが、現時点では HTML フォームのコンテンツを編集できますが、これは望ましくありません。

この HTML 形式の情報をユーザーに表示するだけで、テキストボックスやチェックボックス、またはフォーム上のその性質のものを変更することはできません。

Navigating イベントを使用して、e.cancel = true; を設定してみました。これにより、コントロールがページをロードすることさえできなくなりました。そして、e.cancel = true; のみを実行するように設定すると、フォームがロードされた後も、フォーム上のテキスト ボックスなどを変更することができました。これは、Navigating イベントがランダムに呼び出されたように見えるだけだったからです。

WebBrowser オブジェクトを読み取り専用にする方法を知っている人はいますか?

乾杯!

4

3 に答える 3

2

ドキュメントのタグにcontentEditable属性を適用できます。Body

Document.Body.SetAttribute("contentEditable", false);

これにより、ドキュメントがユーザーに対して読み取り専用になります。

于 2014-05-27T13:14:15.567 に答える
0

ページ上のすべてのフォーム要素にアクセスして、タグに readonly 属性を設定してみてください。何かのようなもの:

var inputs = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement element in inputs)
{
  element.SetAttribute("readonly", "readonly");
}

明らかに、すべてのフォーム要素 (select など) に対してプロセスを繰り返す必要がありますが、うまくいくはずです。

于 2012-06-26T18:15:16.097 に答える