c#-RTF文本编辑器

c#-RTF文本编辑器

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

1“.RTF”什么?

多信息文本格式 (RTF) 是一种方便于不同的设备、系统查看的文本和图形文档格式。

RTF 使用美国国内标准协会 (ANSI)、 PC-8、 Macintosh(mac苹果),或 IBM 的 PC 字符设置控制显示形式和打印形式。
在不同的操作系统下创建的RTF文档能够在多种操作系统和应用程序之间互相传输、查看。
当前,作为 MS-DOS、 Microsoft Windows、 OS/2、 Macintosh苹果系统,应用程序之间处理文档的特殊翻译软件。

RTF是Rich Text Format的缩写,意即多文本格式。

这是一种类似DOC格式(Word文档)的文件,有非常好的兼容性,使用Windows“附件”中的“写字板”就能打开并进行编辑。

使用“写字板”打开一个RTF格式文件时。将看到文件的内容;假设要查看RTF格式文件的源码,仅仅要使用“记事本”将它打开即可了。这就是说,你全然能够像编辑HTML文件一样,使用“记事本”来编辑RTF格式文件。

作为微软公司的标准文件,早期外界须要数十美元向微软付款,才干购买一本薄薄的RTF标准文件。只是随着採用RTF格式标准的软件愈来愈多。RTF格式也愈来愈普遍。微软公司就把标准文件公开。放在网上供开发人员下载。
RTF格式是很多软件都可以识别的文件格式。

比方Word、WPS Office、Excel等都可以打开RTF格式的文件。

对普通用户而言,RTF格式是一个非常好的文件格式转换工具,用于在不同应用程序之间进行格式化文本文档的传送。
通用兼容性应该是RTF的最大长处,但同一时候也就具有它的缺点。比方文件一般相对较大(可能由于嵌入了兼容各种应用程序的控制符号吧)、WORD等应用软件特有的格式可能无法正常保存等。

2.代码例如以下:

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

namespace RTF
{
    public partial class RTF : Form
    {
        public RTF()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 获取文档编辑区域使用的 RtfEditor 实例。
        /// </summary>
        internal RtfEditor RtfEditor
        {
            get
            {
                return rtfEditor;
            }
        }

        void rtfEditor_FileNameChanged(object sender, EventArgs e)
        {
            string FileName = Path.GetFileName(rtfEditor.FileFullName);
            if (FileName == "")
                FileName = "YYS-RTF编辑器";
            this.Text = FileName;
        }

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            
            string[] args =Environment.GetCommandLineArgs();
            if (args.Length < 2)//arg[0]=exepath , arg[1] = filename
            {
                //File_Func_NewFile();
            }
            else
            {
                string filename =args[1];
                if(filename.Trim().ToLower()!="-test")
                    rtfEditor.LoadFile(filename);
            }

            rtfEditor.FileNameChanged += new EventHandler(rtfEditor_FileNameChanged);
            rtfEditor_FileNameChanged(this, null);
        }


        /// <summary>
        /// 在关闭程序之前,推断文本是否须要保存
        /// </summary>
        private void App_Closing(FormClosingEventArgs e)
        {
            if (rtfEditor.Modified)
            {//文档被改动过
                DialogResult result = MessageBox.Show("文件内容已更改,想保存文件吗?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
                switch (result)
                {
                    case DialogResult.Yes: //“保存”,则运行保存文件的操作
                        //假设没有选择要保存的文件名称。则弹出保存对话框。由用户选择要保存的文件名称后保存文本
                        if (saveFileDialog.FileName == "")
                        {
                            if (saveFileDialog.ShowDialog(this.TopLevelControl) == DialogResult.OK)
                            {
                                rtfEditor.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);
                            }
                        }
                        else
                        {
                            //假设已经选择了要保存的文件名称,则保存文本到文件里
                            rtfEditor.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);
                        }
                        break;
                    case DialogResult.No://不保存
                        break;

                    default://取消操作
                        e.Cancel = true;
                        break;
                }
            }
        }
        /// <summary>
        /// 事件处理 - 窗体关闭
        /// </summary>
        /// <param name="e"></param>
        protected override void OnFormClosing(FormClosingEventArgs e)
        {
            base.OnFormClosing(e);

            if (!this.Modal)
                App_Closing(e);
        }

    }
}

3.如图所看到的:

c#-RTF文本编辑器

版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117084.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月11日 上午6:00
下一篇 2022年1月11日 上午6:00


相关推荐

  • kali mysql 卸载,linux mysql卸载命令

    kali mysql 卸载,linux mysql卸载命令想知道linux下怎么完全删除或者卸载mysql吗?下面由学习啦小编为大家整理了linuxmysql卸载命令,希望大家喜欢!linuxmysql卸载命令一、用root用户删除mysql软件1、先查看mysql安装的rpm#rpm-aq|grep-imysqlMySQL-client-advanced-5.6.16-1.el6.x86_64MySQL-devel-advanced-5.6…

    2022年9月29日
    5
  • mac xquartz+iterm2

    mac xquartz+iterm21.下载并安装xquartz2.配置过程参考3.点击xquartz右键自定义添加一个命令指向iterm2我这里添加的是/Applications/iTerm.app/Contents/MacOS/iTerm24.选择刚刚添加的iterm2运行,但是这样只能在xquartz中运行。此时输入echo$DISPLAY发现是:0.0,打开bash_profile…

    2025年5月26日
    15
  • 眼图测试分析

    眼图测试分析眼图测试分析 转载原网址 http m elecfans com article 662764 htm 原网址 http m elecfans com article 662764 htm 波形参数测试是数字信号质量评估最常用的测量方法 但是随着数字信号速率的提高 仅仅靠幅度 上升时间等的波形参数的测量方法越来越不适用了 比如下图的一个 5Gbps 的信号来说 由于受到传输通道的损耗的影响

    2026年3月18日
    1
  • Flash停止支持?不用愁!![通俗易懂]

    Flash停止支持?不用愁!![通俗易懂]2020年的最后一天,Flash华丽谢幕与我们告别……作为一名4399的忠实玩家,真是心痛不已……所以,今天告诉大家几种让Flash重新工作的方式:1.安装“中国版Flash”:目前,中国已经

    2022年8月1日
    17
  • c++和java的前景谁更好?

    c++和java的前景谁更好?两门语言都学到能写App的程度是不难。汉小哲觉得但是精通哪怕一门语言都是非常有挑战的。1、C语言是继机器编码、汇编语言之后第一个和计算机语言最为接近的语言,所以它做底层主流语言地位是不可动摇的,java的市场份额比c语言要大,但是在性能上面,C语言要比java快,但是c语言学习没有java简单,在工资方面很多公司c语言的待遇要比java的好。2、一般的C语言,不仅仅说的是c,而是c和c++,c/c++学习难度要大,应用面没有java广,java学习简单写,应用广,比如web开发、手机应有软件开

    2022年7月9日
    26
  • setTimeout实现setInterval和clearInterval[通俗易懂]

    setTimeout实现setInterval和clearInterval[通俗易懂]functioninterV(fn,time){letres={target:”//需要注意:利用引用类型保证target一直是最新的}functiontest(){fn()res.target=setTimeout(test,time);}test()returnres}functioncv(timer){clearTimeout(timer.target)}lett=int

    2026年4月14日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号