2009-07-02 4 views
1

ここでWYSIWYGを編集するには、ここや他の場所からいくつかの例を参考にしてください。webbrowserとrichtextboxを使用したWYSIWYGエディタ

私はエディタのデザイン状態にWebブラウザを使用していますが、私はリッチテキストボックスを使用したので、 "html-view"に切り替えることができなければなりません。それをrtbに、それ以外の方法で設定します。

rtbの値をウェブブラウザに戻そうとするまでうまくいきます。 「この文書は変更されました。変更を保存しますか?」というメッセージが表示され、その後Webブラウザが受け入れられません新しいコンテンツ。

どうすればいいですか?または後のソリューションimを処理する他の方法ですか?

コード:

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

+0

私はそれを解決し、約について書いていました:webBrowserWYSIWYG.Document.OpenNew(true);あなたが返事を更新したのを見たときに、もう一度Davidに感謝する – Andreas

関連する問題