0

私は現在、WebBrowserコントロールをエディターとして使用しているプロジェクトに取り組んでいます。デザインモードをオンにしましたが、機能しているようです。私が抱えている問題は、ドキュメントを保存して別のドキュメントを読み込もうとすると、「このドキュメントは変更されました」というポップアップが表示されることです。メッセージ。私がやろうとしていることはこれと同じくらい簡単です

if (frontPage)
{
    frontPage = false;
    frontContent = webEditor.DocumentText;
    webEditor.DocumentText = backContent;
}
else
{
    frontPage = true;
    backContent = webEditor.DocumentText;
    webEditor.DocumentText = frontContent;
}

私が言ったように、テキストを入力してこのコードを実行するたびに、変更されたことを示すメッセージがポップアップ表示され、保存するかどうかを尋ねられます。どうすればこれを回避できますか?

4

7 に答える 7

2

次の関数を作成する必要があります。

void ChangeAllowWebBrowserDrop() { webBrowser.AllowWebBrowserDrop = !webBrowser.AllowWebBrowserDrop; }

DocumentTextを変更する前に、毎回呼び出す必要があります。

于 2010-12-17T08:51:04.990 に答える
1

あなたが設定することができます

BodyHtml.  

このような:

string newHTMLString="some html";
webBrowser1.Document.Body.InnerHtml = newHTMLString;

私のために働いた。

于 2010-11-10T09:24:48.963 に答える
1

次の関数を作成する必要があります。

void ChangeAllowWebBrowserDrop() {
    webBrowser.AllowWebBrowserDrop = !webBrowser.AllowWebBrowserDrop;
}

変更する前に毎回呼び出す必要がありますDocumentText

于 2011-08-15T17:08:42.827 に答える
1

より良い解決策は、実際にhtmlコードを割り当てる前に空の文字列を書き込むことです。WebBrowser1.Document.Write(string.Empty);
WebBrowser1.DocumentText="あなたのコード";

于 2012-02-15T20:32:35.967 に答える
1

私はこの問題を解決したので:

browser.Document.Write(string.Empty);  
browser.DocumentText="Your html code"; 

これはこのリンクからのものです: http ://social.msdn.microsoft.com/Forums/vstudio/en-US/3a9c1965-8559-4972-95e1-da0e86cf87bb/webbrowser-strange-problem

于 2013-08-30T09:32:32.167 に答える
0

これを試してwebEditor.ScriptErrorsSuppressed = true;

オンにした場合に備えて、IEでスクリプトデバッグを無効にしていることを確認してください。

于 2010-05-03T21:09:54.290 に答える
0

Windowsフォームがドキュメントストリーム(DocumentTextプロパティで使用)をロードする方法は、about:blankに移動することです。これにより、ドキュメントが変更されたメッセージがトリガーされ、ドキュメントコンプリートイベントハンドラーにストリームがロードされます。

すでにドキュメントがあるので、ナビゲーションをスキップして、WindowsフォームがDocumentCompleteイベントハンドラーで行うように、IPersistStreamInitインターフェイスを介してストリームを既存のドキュメントに直接ロードできます。

于 2010-05-04T00:06:42.260 に答える