• 回答数

    2

  • 浏览数

    204

西安一品家
首页 > 论文问答 > 如何开发编辑器

2个回答 默认排序
  • 默认排序
  • 按时间排序

多来A梦A梦

已采纳
首先,打开你的开发工具Microsoft visual studio 2005。文件——》新建项目——》项目类型选择visualc#,模板选择windows 应用程序,到此我们已经创建好一个window窗体了!接着修改窗体的属性,窗体名字修改为EditorForm,窗体的text属性修改为你要的命名。在工具箱了选择MenuStrip控件如图,把菜单拖到窗体去!然后选择插入标准项插入完菜单之后,再从工具箱里拖一个RichTextBox到菜单下面,然后选择停靠父容器,最后一个简单的编辑器的界面出来了!如图:-----------------------------------------------------------------------------------------------------------------------------------------好了,界面我们已经设计好了,现在我们来实现功能了!首先从工具箱里面拖一个叫做openFileDialog的控件,这是一个用于打开文件的对话框来的,把这个拖到窗体,然后点击一下OpenFileDialog选定此控件,设置Filter属性默认文本(*xt)|*xt|富文本文件(*f)|*f 。当然以后功能扩充后,可以打开别的文件,例如设置Filter的属性为括号里的(数据库文件(*dat)|*dat|图像文件(*jpg;*bmp;*gif)|*jpg;*bmp;*gif|文本文件(*xt)|*xt|所有文件(**)|**)。(注意,次数是用于打开文件对话框对要打开的文件进行筛选的,我们这里只是做简单的文本编译器,所以支持的格式分别是xt  和f格式的文本),最后双击菜单的打开菜单出现private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){//确定用户选择了文件if (penFileDShowDialog() == DialogROK){//得到用户选择的文件路径和文件名path = penFileDFileName;//读取文件内容LoadFile();}}private void LoadFile(){if (penFileDFilterIndex == 1){//纯文本文件ichTextBLoadFile(path, RichTextBoxStreamTPlainText);}if (penFileDFilterIndex == 2){ichTextBLoadFile(path, RichTextBoxStreamTRichText);}}我们要在里面写代码实现把PC机上的文件打开到我们的编辑器中进行简单的文字编译了,但是在写代码前,我们要定义一个全局变量,用于记录是否文件是新建的,还是打开来编辑的,我们要把这个变量定义为 string path = null ;附上所有代码using System;using SCGeneric;using SComponentModel;using SData;using SDrawing;using SText;using SWForms;namespace SimpleEditor{public partial class EditorForm : Form{string path = null;string isSaved = "n";int initLenglt = 0;public EditorForm(string path){path = path;InitializeComponent();}private void 新建NToolStripMenuItem_Click(object sender, EventArgs e){if (ichTextBTextLength > 0 && (isSEquals("n"))){if (MessageBShow("文件没有保存是否新建文件?", "提示", MessageBoxBYesNo, MessageBoxIWarning) == DialogRYes){ichTextBClear();Text = "简单的编辑器";initLenglt = richTextBTextLength;}}else{ichTextBClear();Text = "简单的编辑器";initLenglt = richTextBTextLength;}}private void 打开OToolStripMenuItem_Click(object sender, EventArgs e){//确定用户选择了文件if (penFileDShowDialog() == DialogROK){//得到用户选择的文件路径和文件名path = penFileDFileName;//读取文件内容OpenFile();}}private void OpenFile(){try{string extName = Substring(LastIndexOf(""));if (extNToLower()Equals("xt")){//纯文本文件ichTextBLoadFile(path, RichTextBoxStreamTPlainText);}if (extNToLower()Equals("f")){ichTextBLoadFile(path, RichTextBoxStreamTRichText);}Text = "文本编辑器" + path;isSaved = "y";}catch (Exception ex){MessageBShow("请选择合适文件,打开失败");}}private void 保存SToolStripMenuItem_Click(object sender, EventArgs e){if(IsNullOrEmpty(path)){saveFileDTitle = "保存为";if (saveFileDShowDialog() == DialogROK){path = saveFileDFileName;SaveFile();}}else{string extNanme=Substring(LastIndexOf(""));if (extNToLower()Equals("xt")){ichTextBSaveFile(path, RichTextBoxStreamTPlainText);}if(extNToLower()Equals("f")){ichTextBSaveFile(path, RichTextBoxStreamTRichText);}}initLenglt = richTextBTextLength;}private void SaveFile(){try{if (saveFileDFilterIndex == 1){//纯文本文件ichTextBSaveFile(path, RichTextBoxStreamTPlainText);}if (saveFileDFilterIndex == 2){ichTextBSaveFile(path, RichTextBoxStreamTRichText);}Text = "文本编辑器" + path;initLenglt = richTextBTextLength;isSaved = "y";}catch (Exception ex){ }}private void 另存为AToolStripMenuItem_Click(object sender, EventArgs e){if (saveFileDShowDialog() == DialogROK){path = saveFileDFileName;SaveFile();}}private void EditorForm_Load(object sender, EventArgs e){剪切TToolStripMenuIEnabled = false;复制CToolStripMenuIEnabled = false;if(!IsNullOrEmpty(path)){OpenFile();}}private void 字体ToolStripMenuItem_Click(object sender, EventArgs e){try{string extName = Substring(LastIndexOf(""));if (extNToLower()Equals("xt")){SettxtFont();}if (extNToLower()Equals("f")){SetRichtextFont();}}catch(Exception ex){}}private void SettxtFont(){if (fontDShowDialog() == DialogROK){Font font = fontDFont;ichTextBFont = font;}}private void SetRichtextFont(){if (fontDShowDialog() == DialogROK){Font font = fontDFont;ichTextBSelectionFont = font;}}private void 字体颜色ToolStripMenuItem_Click(object sender, EventArgs e){string extName = Substring(LastIndexOf(""));if (extNToLower()Equals("f")){if (lorDShowDialog() == DialogROK){Color color = lorDColor;ichTextBSelectionColor = color;}}}private void 剪切TToolStripMenuItem_Click(object sender, EventArgs e){if(richTextBSelectionLength>0){ichTextBCut();}}private void 粘贴PToolStripMenuItem_Click(object sender, EventArgs e){ichTextBPaste();}private void 复制CToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBSelectionLength > 0){ichTextBCopy();}}private void richTextBox1_SelectionChanged(object sender, EventArgs e){if (richTextBSelectionLength > 0){剪切TToolStripMenuIEnabled = true;复制CToolStripMenuIEnabled = true;}else{剪切TToolStripMenuIEnabled = false;复制CToolStripMenuIEnabled = false;}}private void 编辑EToolStripMenuItem_Click(object sender, EventArgs e){}private void 全选AToolStripMenuItem_Click(object sender, EventArgs e){ichTextBSelectedTToString();}private void 退出XToolStripMenuItem_Click(object sender, EventArgs e){Close();}private void EditorForm_FormClosing(object sender, FormClosingEventArgs e){if (ichTextBTextLength > initLenglt){ if (MessageBShow("文件没有保存是否退出?", "提示", MessageBoxBYesNo, MessageBoxIWarning) == DialogRNo){Cancel = true;}}}private void 关于AToolStripMenuItem_Click(object sender, EventArgs e){AboutBox aboutbox = new AboutBox();ShowDialog();}private void 撤消UToolStripMenuItem_Click(object sender, EventArgs e){ichTextBUndo();}}}
272 评论

张小电1301

285 评论

相关问答

  • 在线编辑器开发

    写法还是? string myText; public string MyText { get { ret

    呼啦啦呼嘞嘞 4人参与回答 2023-12-06
  • pdf编辑器如何编辑

    PDF是日常生活中最常用的格式之一,但涉及到编辑时,很多人都会先将PDF转换为Word格式修改后再进行转换,但你知道吗?只要拥有一款强大的PDF编辑器,便可实现

    datang1201 2人参与回答 2023-12-10
  • 软件开发编辑器

    对于现在的编程开发,有3点是要从概念上区分清楚地1。语言2。平台3。工具其中语言既是指c, c++, java, basic等等。基本上讲就是语法,可以说大家都

    烽火馋眠 8人参与回答 2023-12-11
  • 安卓开发编辑器

    目前来说是使用AndroidStudio比较多,老项目也有使用Eclipse的,,不过现在一般的老项目都转为AS开发了

    晓云1123 1人参与回答 2023-12-11
  • 如何下载编辑器

    方法如下:打开电脑中的浏览器!输入“pdf编辑器”搜索!点击页面中带有下载按钮的编辑器!点击“立即下载”按钮即可下载免费的PDF编辑器!

    海上的海 3人参与回答 2023-12-06