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

你可能感兴趣的:(Winform 下的HTML编辑器。)