2009-07-02 126 views
1

我試圖錘擊一個所見即所得的編輯在C#下面的一些例子從這裏和其他地方。c#WYSIWYG編輯器使用瀏覽器和richtextbox

我使用web瀏覽器來編輯設計狀態,但我需要能夠切換到「html-view」,所以我使用了一個豐富的文本框,而我的目的只是從web瀏覽器中獲取內容,將其設置爲rtb,反之亦然。

它工作正常,直到我試圖把rtb的值放回網頁瀏覽器,然後我得到一個 「此文檔已更改,是否要保存更改」-alert,之後webbrowser將不會接受新的內容。

不知道該怎麼辦?或者其他任何方式來處理解決方案後?

代碼:

namespace EmailAdmin 
{ 
    public partial class Form1 : Form 
    { 

    // global variables 
    private IHTMLDocument2 doc; 
    private int WYSIWYGviewState = 0; 

    public Form1() 
    { 
     InitializeComponent(); 

    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     // initiate web browser to design mode 
     webBrowserWYSIWYG.DocumentText = "<html><body></body></html>"; 
     doc = webBrowserWYSIWYG.Document.DomDocument as IHTMLDocument2; 
     doc.designMode = "On";    
    } 

    private void linkSwitchWYSIWYGview_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
    { 
     // determins viewstate 
     // is design view 
     if (WYSIWYGviewState == 0) 
     { 
      // set html view 
      WYSIWYGviewState = 1; 
      rtbWYSIWYG.Visible = true; 

      // populates the texteditor with html 
      rtbWYSIWYG.Text = webBrowserWYSIWYG.DocumentText; 

      // change label text 
      linkSwitchWYSIWYGview.Text = "View Design"; 


     } 
     // is html view 
     else if (WYSIWYGviewState == 1) 
     { 
      // set design view 
      WYSIWYGviewState = 0; 
      rtbWYSIWYG.Visible = false; 

      // populates the designer with html 
      webBrowserWYSIWYG.DocumentText = rtbWYSIWYG.Text; 

      // change label text 
      linkSwitchWYSIWYGview.Text = "View HTML"; 
     } 
    } 
} 
} 

回答

2

它看着你的好東西,我最近花了太多時間在WebBrowser控件以及相關的事情是如何工作:-)

要做些什麼你想要的,而不是

webBrowserWYSIWYG.DocumentText = rtbWYSIWYG.Text; 

,做

webBrowserWYSIWYG.Document.Write(rtbWYSIWYG.Text); 

我希望有所幫助。這個對我有用。

編輯:試試這個:

webBrowserWYSIWYG.Document.OpenNew(true); 
webBrowserWYSIWYG.Document.Write(rtbWYSIWYG.Text); 
+0

@大衛·約翰斯通:謝謝,它的工作!仍然有這個問題.Document.Write();只添加,而不是替換,所以如果你開始寫「!」並在視圖之間來回切換,文檔將以1「!」增長每個開關。有什麼想法嗎? – Andreas 2009-07-02 11:02:07