Winform 下的HTML編輯器。



      很久沒有寫程序了。最近公司要求我更新一下公司網站,就網上下載asp源碼FTP上傳空間,竟然服務器裏的數據庫文件是隻讀的,沒有寫入權限。那更新網站只能通過FTP上傳靜態頁面文件了。麻煩~~~。

       靜態頁面的創建,先在本地生成再上傳了。就編寫一個winform程序來製作網頁,得解決winform下富文本HTML編輯問題。

       我的解決方案是使用webBrowser控件。引入一個KingEditor編輯器頁面來解決。

       初始化頁面編輯器全屏。

       頁面添加如下代碼:

<script>
function getHtml() {
 document.getElementById("tcontent").innerHTML = editor.html();
}

function setHtml(str) {
  editor.html(str);
}
</script>

winform中獲取html編輯器代碼:

                //這兩行代碼,獲得編輯的HTML代碼。詳情看KEditor\KEditorWinForm.htm
                webBrowser1.Document.InvokeScript("getHtml");
                content = webBrowser1.Document.GetElementById("tcontent").InnerHtml;

winform中初始設置html編輯器內容:

       

        private bool isDocumentFirstCompleted = true;
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

           //避免,KingEditor某些插件動態創建iframe會觸發此事件,導致編輯會恢復初始值
            if (isDocumentFirstCompleted && (sender as  WebBrowser).Document.Title == "editor")   
            {
                isDocumentFirstCompleted = false;
                //在此設置KingEditor內容
                Object[] obArr = new Object[1];
                obArr[0] = (Object)webContentHtml;
                webBrowser1.Document.InvokeScript("setHtml", obArr);

            }
        }

其中的變量webContentHtml爲初始html字符串值。

源碼已上傳。

http://download.csdn.net/detail/xeral/8067967

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章