在c# winform 中(zhōng),使用webBrowser 控件時,修改值時彈出提示,解決方案

發布時間:2010年12月09日      浏覽次數:947 次
本問題在C# winform 中(zhōng),使用HTML編輯器或直接使用WebBrowser時,經常遇到這種情況,下(xià)面是我(wǒ)(wǒ)親身經曆并總結出來的解決方案,在此發布出來與大(dà)家分(fēn)享一(yī)下(xià),呵呵。。。
----------------------------------------
問題:
----------------------------------------
在c# winform 中(zhōng) 使用 webBrowser 控件,修改webBrowser.DocumentText 的值後出現下(xià)面的提示
該文檔已被修改,是否保存修改結果?
是:保存修改結果
否:放(fàng)棄修改結果
取消:仍打開(kāi)該文檔
(此行爲3個按紐:) 是 否 取消
請問怎麽才能不讓這個提示顯示。
問題示例代碼:
在窗體(tǐ)中(zhōng)添加 一(yī)個webBrowser 一(yī)個按鈕
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentText = string.Empty;
webBrowser1.Document.ExecCommand("EditMode", false, null);
webBrowser1.Document.ExecCommand("LiveResize", false, null);
}
private void button2_Click(object sender, EventArgs e)
{
this.webBrowser1.DocumentText = "測試程序";
}
第一(yī)次單擊按鈕時沒有提示,webBrowser1 寫入“測試程序”
第二次單擊時就出現上面的提示
應該是第二次單擊時webBrowser1中(zhōng)已經有内容的原因。
各位幫忙看看怎麽解決。
----------------------------------------
解決方法:
----------------------------------------
//在浏覽器完成操作時,使AllowNavigation = false
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
this.webBrowser1.AllowNavigation = false;
}
在設置WebBrowser.DocumentText 的值的前面加下(xià)以下(xià)兩行代碼
//這兩行是屏蔽改變WebBrowser值時,彈出的如上面所說的那個對話(huà)框
webBrowser1.AllowNavigation = true;
webBrowser1.Document.OpenNew(true);
如:
/// <summary>
/// 獲取和設置當前的Html文本
/// </summary>
public override string Text
{
get
{
return webBrowserBody.DocumentText;
}
set
{
webBrowser1.AllowNavigation = true;
webBrowser1.Document.OpenNew(true); //這兩行屏蔽彈出的對話(huà)框
webBrowser1.DocumentText = value; //賦值
}
}
免責聲明:本站相關技術文章信息部分(fēn)來自網絡,目的主要是傳播更多信息,如果您認爲本站的某些信息侵犯了您的版權,請與我(wǒ)(wǒ)們聯系,我(wǒ)(wǒ)們會即時妥善的處理,謝謝合作!