1、属性SelectedText、SelectionLength、SelectionStart: 属性SelectionFont:属性SelectionColor:属性Lines:属性Modified:事件SelectionChange:事件TextChanged:2、RichTextBox控件的主要方法方法Clear():方法Copy()、Cut()、Paste():方法SelectAll():方法Find():方法SaveFile()和LoadFile():方法Undo():方法Redo():二、功能设计与实现1、剪贴板功能 放RichTextBox控件到窗体。属性Name=richTextB
2、ox1,Dock=Fill,Text=。private void menuItemEditCut_Click(object sender,EventArgs e) richTextBox1.Cut(); /剪切private void menuItemEditCopy_Click(object sender,EventArgs e) richTextBox1.Copy(); /拷贝private void menuItemEditPaste_Click(object sender,EventArgs e) richTextBox1.Paste(); /粘贴private void menuIt
3、emEditUndo_Click(object sender,EventArgs e) richTextBox1.Undo(); /撤销private void menuItemEditRedo_Click(object sender,EventArgs e) richTextBox1.Redo(); /恢复2、存取文件功能 文本编辑器都应具有文件存取功能,菜单顶级菜单项“文件”的弹出菜单中一般包括如下菜单项:新建、打开、关闭、保存和另存为等。需要用到打开文件对话框(OpenFileDialog控件)和保存文件对话框(SaveFileDialog控件)。和两个对话框的常用属性和方法:属性Fil
4、ter:例如Filter=“纯文本文件(*.txt)|*.txt|所有文件(*.*)|*.*” 属性FilterIndex:属性FileName:属性InitialDirectory:属性DefaultExt:方法ShowDialog():存取文件功能实现如下:把OpenFileDialog和SaveFileDialog控件放到窗体中。为菜单增加顶级菜单项:文件,为其弹出菜单增加菜单项:新建、打开.、保存.、另存为.、退出。修改这些菜单项的Name属性分别为:mainMenuFile、menuItemFileNew、menuItemFileOpen、menuItemFileSave、menuI
5、temFileSaveAs、menuItemFileExit。为Form1类中定义变量:string s_FileName=“”,记录当前编辑的文件名 private void menuItemFileNew_Click(object sender,EventArgs e) /新建文件菜单项 richTextBox1.Text=; /或richTextBox1.Clear(); s_FileName= /新建文件没有文件名。private void menuItemFileOpen_Click( /打开文件菜单项 object sender,EventArgs e) if(openFileDi
6、alog1.ShowDialog()=DialogResult.OK) s_FileName=openFileDialog1.FileName; richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText); private void menuItemFileSaveAs_Click( /另存为菜单项 object sender,EventArgs e) if(saveFileDialog1.ShowDialog()=DialogResult.OK) s_FileName=saveFileDia
7、log1.FileName; richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText); /注意存取文件类型应一致。private void menuItemSaveFile_Click( /保存文件菜单项 if(s_FileName.Length!=0) richTextBox1.SaveFile(s_FileName, RichTextBoxStreamType.PlainText); else menuItemFileSaveAs_Click(sender,e);private voi
8、d menuItemExit_Click( /退出菜单项 Close(); 3、 修改字体 为修改使用的字体,可打开字体对话框FontDialog,选择指定字体。可以按两种方式修改字体,如果未选中文本,表示以后键入的字符将按选定字体输入。如果选中文本,则仅修改选定文本的字体。修改字符颜色也根据同样原则。修改字体要用到FontDialog控件 可以用FontDialog对话框选定指定字体,FontDialog控件和OpenDialog控件的属性和方法基本相同,这里只介绍属性Font,它代表用FontDialog对话框选定的字体。修改字体实现方法:放FontDialog控件到窗体,属性Name=f
9、ontDialog1。格式,属性Name为mainMenuModel,为其弹出菜单增加菜单项:字体,属性Name为menuItemModelFont,为菜单“格式|字体”菜单项增加单击事件处理函数如下:private void menuItemModelFont_Click( if(fontDialog1.ShowDialog()=DialogResult.OK) richTextBox1.SelectionFont=fontDialog1.Font;4、About对话框 单击菜单项目|添加Windows窗体菜单项,弹出对话框,添加一个窗体,修改formAbout窗体属性StartPositi
10、on=CenterParent,修改属性MaximizeBox=False,MinimizeBox=False,属性FormBorderStyle=FixedDialog 标题为“确定”按钮单击事件处理函数如下:private void button1_Click(object sender,EventArgs e) 帮助,为其弹出菜单增加标题为“关于”的菜单项,属性Name为menuItemAbout。菜单“帮助|关于”菜单项单击事件处理函数如下:private void menuItemAbout_Click( formAbout AboutDialog=new formAbout();
11、AboutDialog.ShowDialog(this);/打开模式对话框 /注意不能使用Show()函数,它打开非模式对话框 5、 文本编辑器查找替换功能首先介绍模式对话框和非模式对话框的概念。并使用非模式对话框在文本编辑器中实现查找和替换功能。(1)模式对话框和非模式对话框 模式对话框和非模式对话框的区别是: 两类对话框本质上都是窗体,是Form类的派生类,只是打开时使用的方法不一样,打开模式对话框,使用方法ShowDialog(),而打开非模式对话框,使用方法Show()。(2)查找替换功能的实现 建立新窗体,窗体文件名称为formFindReplace.cs,作为查找替换对话框。窗体类
12、名也为formFindReplace,为formFindReplace类增加变量:Form1 MainForm1;属性StartPosition=CenterParent,MaximizeBox=False,MinimizeBox=False, FormBorderStyle=FixedDialog, Text=“查找和替换” 修改formFindReplace类构造函数如下,增加的参数form1是主窗体属性Name的值。public formFindReplace(Form1 form1) InitializeComponent(); MainForm1=form1;/新增语句,记录主窗体属
13、性Name的值/有了Form1引用,可以在formFindReplace类中调用Form1类的公有方法 查找替换对话框中标题为“查找下一个”按钮单击事件函数如下:private void buttonFind_Click(object sender,EventArgs e) if(textBox1.Text.Length! /MainForm1.FindRichTextBoxString方法见后面定义 MainForm1.FindRichTextBoxString(textBox1.Text); MessageBox.Show(“查找字符串不能为空”, 提示,MessageBoxButtons.OK); /MessageBox是对话框 查找替换对话框中标题为“替换查到字符”按钮单击事件函数如下:private void buttonReplace_Click(object sender,EventArgs e) if(textBox2.Text.Length! MainForm1.ReplaceRichTextBoxString(tex
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1