iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#开发WinForm项目实现HTML编辑器
  • 818
分享到

C#开发WinForm项目实现HTML编辑器

2024-04-02 19:04:59 818人浏览 八月长安
摘要

做web开发时,我们经常会用到html富文本框编辑器来编写文章或产品描述的详细内容,常用的编辑器有FCKEditor、CKEditor 、TinyMCE、KindEditor和ued

web开发时,我们经常会用到html富文本框编辑器来编写文章或产品描述的详细内容,常用的编辑器有FCKEditor、CKEditor 、TinyMCE、KindEditor和ueditor(百度的),

我们知道winform上有一个WEBBrowser控件,本文正是采用webBrowser结合Web上的HTML编辑器KindEditor来实现的,KindEditor是一个国人写的编辑器,轻量级用起来挺不错,至少我知道目前拍拍和开源中国就是用此编辑器。

KindEditor的官方地址为:Http://kindeditor.net/down.PHP

首先我们需要去官网或者GitHubhttps://github.com/kindsoft/kindeditor下载一份代码,然后解压到我们项目的bin文件夹下,然后在bin/KindEditor目录下新建一个名字为e.html的html文件,并键入以下代码:

<!doctype html>
<html>

<head>
    <meta charset="utf-8" />
    <title>Html Editor</title>
    <script charset="utf-8" src="kindeditor.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,
                resizeType: 0, //不能更改大小
                fullscreenMode: true,
                items: [
                    'undo', 'redo', '|', 'cut', 'copy', 'paste',
                    'plainpaste', 'Wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
                    'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
                    'superscript', '|', 'clearhtml', 'quickfORMat', 'selectall', 'flash', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak', '/',
                    'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
                    'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',
                    'link', 'unlink', '|', 'template', 'code', 'source', 'preview',
                ],
                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 style="padding: 0; margin: 0;">
    <textarea id="details" style="display: block; width: 680px; height: 100%; visibility: hidden;"></textarea>

</body>
</html>

如果在Web上用过 KindEditor的朋友对以上代码应该不陌生,因为它实际上就是初始化一个 HTML编辑器而已,我们还在代码中定义了一个setContent方法,该方法就是用来设置HTML编辑器的内容,我们在C#代码中需要调用该方法.

好了,下面我们回到WinForm上面,我们在界面上拉一个webBrowser控件,cs里键入以下代码:

namespace WinformHTMLEditor
{
    [ComVisible(true)]
    public partial class Form1 : Form
    {
        string content = "";
        public Form1()
        {
            InitializeComponent();
            this.webBrowser1.Url = new System.Uri(Application.StartupPath + "\\kindeditor\\e.html", System.UriKind.Absolute);
            this.webBrowser1.ObjectForScripting = this;

        }
        public void SetDetailContent()
        {

            webBrowser1.Document.InvokeScript("setContent", new object[] { content });
        }
        public string GetContent()
        {
            return content;
        }
        public void RequestContent(string str)
        {
            content = str;
            richTextBox1.Text = content;
        }

        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
            if (richTextBox1.Focused)
            {
                content = richTextBox1.Text;
                SetDetailContent();
            }
        }

        private void webBrowser1_Resize(object sender, EventArgs e)
        {
            this.webBrowser1.Refresh();
        }
    }
}

到此这篇关于WinForm实现HTML编辑器的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#开发WinForm项目实现HTML编辑器

本文链接: https://www.lsjlt.com/news/151352.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#开发WinForm项目实现HTML编辑器
    做Web开发时,我们经常会用到HTML富文本框编辑器来编写文章或产品描述的详细内容,常用的编辑器有FCKEditor、CKEditor 、TinyMCE、KindEditor和ued...
    99+
    2024-04-02
  • Qt项目实战之实现多文本编辑器
    首先先来看实验成果图,大概就是这么个多文档编辑器。 首先需要在设计模式里进行设计器的设置: 然后就是新建类MdiChild的声明和实现 mdichild.h #ifndef MD...
    99+
    2023-03-19
    Qt多文本编辑器 Qt文本编辑器 Qt编辑器
  • C++项目开发经验分享:C++开发项目的实践经验
    C++是一种编程语言,特别适合用于开发高性能和复杂的应用程序。作为一名C++开发者,我有幸参与了多个C++项目的开发,并积累了一些宝贵的实践经验。在本文中,我想分享一些关于C++项目开发的经验和技巧。首先,一个成功的C++项目需要良好的架构...
    99+
    2023-11-22
    实践经验 C++开发 项目经验
  • 如何在c#项目中实现一个winform主题
    如何在c#项目中实现一个winform主题?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一个接口,需要做主题的控件、窗体都要实现这个接口/// <summa...
    99+
    2023-06-06
  • C#怎么开发Winform实现文件操作
    这篇文章主要介绍了C#怎么开发Winform实现文件操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么开发Winform实现文件操作文章都会有所收获,下面我们一起来看看吧。一、文件对话框C#中共有三种文...
    99+
    2023-06-30
  • C#开发Winform实现文件操作案例
    目录一、文件对话框(1)OpenFileDialog对话框(2)SaveFileDialog对话框(3)FolderBroswerDialog对话框二、文件及文件夹操作(1)文件常用...
    99+
    2024-04-02
  • C#开发Winform实现学生管理系统
    一、案例功能的实现 数据: --专业 create table ProfessionInfo ( ProfessionID int primary key identity(1,1...
    99+
    2024-04-02
  • C++项目开发实现图书管理系统
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 一、需求分析 1.可以实现添加一条新的图书信息(图书名,图书编号,图书价格,图书作者)2.可以查看全部...
    99+
    2024-04-02
  • C#开发Winform实现窗体间相互传值
    目录一、前言二、公共属性三、公共方法四、委托1、定义一个委托2、实例化一个此委托类型的事件3、定义要执行的方法4、将方法绑定到事件5、触发委托一、前言 我们在做Winform窗体程序...
    99+
    2024-04-02
  • C#中怎么利用WinForm控件实现一个下拉式属性编辑器
    这篇文章将为大家详细讲解有关C#中怎么利用WinForm控件实现一个下拉式属性编辑器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先我们要创建一个用于编辑属性的控件,在本系列文章的开始,我...
    99+
    2023-06-17
  • 微信小程序实战项目之富文本编辑器实现
    目录前言1. 实现效果2. 创建发布页面,实现基本布局3. 实现编辑区操作栏的功能3.1. 实现文本加粗、斜体、文本下划线、左对齐、居中对齐、右对齐3.2. 实现撤销、恢复、插入图片...
    99+
    2024-04-02
  • C#怎么开发Winform实现学生管理系统
    这篇文章主要介绍“C#怎么开发Winform实现学生管理系统”,在日常操作中,相信很多人在C#怎么开发Winform实现学生管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么开发Winform实现...
    99+
    2023-06-30
  • 怎么正确编写C++项目开发计划书
    本篇内容主要讲解“怎么正确编写C++项目开发计划书”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么正确编写C++项目开发计划书”吧!1、编写目的为了保证项目开发人员按时保质地完成预订目标,更好...
    99+
    2023-06-17
  • C++项目开发如何实现图书管理系统
    这篇“C++项目开发如何实现图书管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++项目开发如何实现图书管理系统”文...
    99+
    2023-06-29
  • springboot vue项目管理前后端实现编辑功能
    目录基于springboot+vue 的测试平台开发一、打开编辑页面显示数据1. 编辑按钮2. 编写 handleUpdate 方法处理数据外显二、保存编辑页面的内容1. 后端增加 ...
    99+
    2024-04-02
  • C#开发如何Winform实现窗体间相互传值
    今天小编给大家分享一下C#开发如何Winform实现窗体间相互传值的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、前言我们...
    99+
    2023-06-29
  • c#项目实现发布到服务器全过程
    目录1.服务端2.客户端3.打开你的服务器管理器总结项目发布到服务器 前言:此项目是C#项目采用服务端和客户端分离的MVVM的模式,现在需要把项目发布到服务器上以供访问  ...
    99+
    2023-05-15
    c#项目 c#发布到服务器 c#服务器
  • 在Visual Studio Code中编辑Unity项目,您现在可以开始了
    Microsoft发布了Visual Studio Code的Unity扩展预览版。这个新的 Unity 扩展将允许您编写和调试 Unity 游戏。这个新的Unity扩展带来了Visual Studio和Visual Studio Tool...
    99+
    2023-08-08
  • springboot vue项目管理前后端怎么实现编辑功能
    这篇文章主要介绍了springboot vue项目管理前后端怎么实现编辑功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot vue项目管理前后端怎么实现编辑功能文章都会有...
    99+
    2023-06-30
  • C语言实现简易文本编辑器
    本程序要求完成一个简易文本编辑器,能够完成文本的录入、编辑、删除、查找,并能够完成文件的存取。 在文本编辑软件中把用户输入的所有文本内容作为一个字符串。虽然各种文本编辑软件的功能有强...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作