首先,打开你的开发工具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();}}}
我这里有一个jar可以用,想看源代码的话你可以反编译。留一个邮箱,我给你发过去。
import *;import *;import *;import *;public class f1 extends Frame implements ActionListener{ private MenuBar menubar=new MenuBar(); private Menu filemenu=new Menu("文件"); private Menu editmenu=new Menu("编辑"); private Menu formmenu=new Menu("格式"); private MenuItem[] itemf=new MenuItem[4]; private MenuItem[] iteme=new MenuItem[6]; private MenuItem[] items=new MenuItem[2]; private TextArea tf=new TextArea(); public int a=0,b=0,c=0,style=FPLAIN,size=15; public String s1="red:"+a+" "+"green:"+b+" "+"blue"+c, s2="宋体"; public String[] sz1={"10","16","24","30","32","36"}, sz2={"宋体","黑体","幼圆","隶书","行楷","Arial","Georgia"}, sz3={"粗体","倾斜","常规","粗斜"};JDialog dialog=new JDialog(this,"字体",true); Container cp=ContentPane(); JLabel[] lb=new JLabel[8]; JLabel lb1=new JLabel(s1,JLLEFT); JButton b1=new JButton("确定"), b2=new JButton("取消"); JComboBox jc1=new JComboBox(), jc2=new JComboBox(), jc3=new JComboBox(); JScrollBar jb1=new JScrollBar(JScrollBHORIZONTAL,10,5,0,260); JScrollBar jb2=new JScrollBar(JScrollBHORIZONTAL,10,5,0,260); JScrollBar jb3=new JScrollBar(JScrollBHORIZONTAL,10,5,0,260);
还是问同学比较实际真想把室友写的复制黏贴过来。。。
如果是基于字符界面的话,给你个思路1、整个程序的逻辑是一个循环while(0){捕获键盘输入根据输入确定执行的功能:1、功能操作2、编辑输入或修改操作刷新显示缓冲区的内容}2、键盘输入包括字符、功能键(Fx、del、bk等等)、方向键3、缓冲区是一个动态链表,链表的每个元素是一个字符串,表示是屏幕上一行的内容,可以根据要求限制长度或者调整显示方式
直接用MFC自动生成实现吧,不过要改一个基类,是改成CEDIT
前端开发用的文本编辑器有哪些?这个前端开发用的文本编辑器
记事本可以记录你做过的事和没做过的事,可以记录你容易忘记的事,主要是记录作用和提醒作用
一个文本编辑器,也就是说你能够在上边编辑文本,把你想记的事情都记下来。但功能不多,也不怎么好用,不如用word编辑呢
开始-运行-notepad一些补充:win+r-notepad桌面单击鼠标右键-新建-快捷方式,输入xe开始-所有程序-附件-记事本作用……顾名思义,就是记录某些文字的。
记事本是用于编辑ASCII文本文件的应用程序。记事本的特点是只支持纯文本。其存储文件的扩展名为xt,文件属性没有任何格式标签或者风格,所以相当适合在DOS环境中编辑。记事本几乎可以编辑任何文件,但不包括Unix风格的文本文件。记事本是一款只可以在Windows下运行的软件。扩展资料:Windows Me中,记事本不支持任何快捷键操作,亦不支持行数统计功能。从Windows 2000开始,一些普遍的功能开始有快捷键的操作,例如新增、打开和存储。同时,状态栏亦开始出现,有行数统计器,在自动换行功能取消时才会出现。在Windows 95中,记事本只支持Fixedsys字体,到了Windows NT 0和Windows 98,记事本便开始支持字体变更。在Windows 2000和Windows XP中,默认字体已变为Lucida Console。在以Windows NT为基础的操作系统中,记事本可以编辑传统的8-bit文本文件,同时支持Unicode文本文件(UTF-8和UTF-16)。