winform 添加html编辑器的具体办法

winform_添加html编辑器的具体办法


winform_添加html编辑器的具体办法





首先:我们需要添加kindeditor到目录下!



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    [System.Runtime.InteropServices.ComVisible(true)]  /////第一步

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //初始化读取模版  第二步



            this.webBrowser1.Url = new System.Uri(Application.StartupPath + "\\kindeditor\\e.html", System.UriKind.Absolute);
            this.webBrowser1.ObjectForScripting = this;//加载js,必须给当前类加ComVisible 属性,确保对com可见


        }





        ///


        /// 第三步
        ///



        string content = "";//声明变量
        //内容初始值,否则webbrowser刚开始会没值
        public string GetContent()
        {
            return content;
        }
        //如果在窗体load事件为其赋值则用于窗体加载完,为webBrowser重新赋值
        public void RequestContent(string str)
        {
            content = str;
            richTextBox1.Text = content;
        }

        //操作webbrowser页面,刷新本身
        private void webBrowser1_Resize(object sender, EventArgs e)
        {
            this.webBrowser1.Refresh();
        }



最后一步:拖入控件  不用多说了吧??

拖入一个:webBrowser1和一个richTextBox1到界面就可以了


喔 对了 在kindeditor文件夹内 建立一个e.html


写入:

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Html Editor</title>
<script charset="utf-8" src="kindeditor-min.js"></script>
<script charset="utf-8" src="lang/zh_CN.js"></script>
<script>
window.onerror=function(){return true;};
var editor;
var contentSeted=false;
KindEditor.ready(function(K) {
editor = K.create('#details', {
allowFileManager : false,
allowImageUpload:false,
items:[
        'image','table', 'hr', 'link', 'unlink','source',  '/',
         'undo', 'redo', 
          '|',
        'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
        'italic', 'underline', 'strikethrough',
         'justifyleft', 'justifycenter', 'justifyright',
        'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
        'superscript','|', 'clearhtml', 'quickformat', 
        
         'lineheight', 'removeformat'
],
fullscreenMode:true,
afterChange:function(){
if(editor&&contentSeted)
window.external.RequestContent(editor.html());
}
});
setContent(window.external.GetContent());

});
function setContent(content){
if(editor){
    contentSeted=false;
editor.html(content);
contentSeted=true;
}
}

</script>
</head>
<body>
<textarea id="details" style="block:none;width:100%;height:100%;visibility:hidden;"></textarea>
</body>
</html>



额 就这样了!不会的话 可以下载附件看看项目 我做了在里面了的



winform代码
桂ICP备16004754号