1C#简单文本编辑器的设计代码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
if (openFileDialog1.FilterIndex == 1)//如果是文本文件
richTextBox1.LoadFile(Fname, RichTextBoxStreamType.PlainText);
else
richTextBox1.LoadFile(Fname, RichTextBoxStreamType.RichText);//RTF文件
(3)添加“打开”文件方法 添加一个richTextBox控件、一个OpenFileDialog控件
private void FileOpen() //打开文件方法 {
openFileDialog1.Filter = "文本文件(*.txt)|*.txt|RTF格式文件(*.RTF)|*.RTF";//设置过滤器属性
{
if (richTextBox1.Modified)
lblSave.Text = "未保存 ";
lblCharNum.Text = "字符数" + Convert.ToString(richTextBox1.TextLength) + "
";
}
注意:本编辑器对使用其它编辑器编写的文件修改后无权按原位置存盘修改。
}
this.Text = Fname + "-简单文本编辑器";//窗体标题栏显示的信息
}
(4)添加“保存”方法
private void Save() //"保存"方法
{
if (richTextBox1.Modified)
{
if (Fname == "")
SaveAs();
else
if (FExtName == "txt")
saveFileDialog1.RestoreDirectory = true;
saveFileDialog1.ShowDialog();
Fname = saveFileDialog1.FileName;
if (Fname!="")
2
{ if (saveFileDialog1.FilterIndex == 1) { richTextBox1.SaveFile(Fname, RichTextBoxStreamType.PlainText); FExtName = "txt"; } else { richTextBox1 .SaveFile ( Fname, RichTextBoxStreamType.RichText); FExtName ="rtf"; } this.Text=Fname +"简单文本编辑器";
{
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt|RTF格式文件|*.RTF";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.Title = "另存为";
saveFileDialog1.InitialDirectory = Application.StartupPath;//
richTextBox1.SaveFile(Fname, RichTextBoxStreamType.PlainText);
else
richTextBox1.SaveFile(Fname, RichTextBoxStreamType.RichText);
}
richTextBox1.Modified = false;
} richTextBox1.Modified = false; //lblSave.Text="已保存"; }
(6)添加“RichTextBoxResize”方法,其作用是文本框控件随窗体大小而改变 添加一个ToolStrip控件(工具栏)、一个StatusStrip控件(状态栏)
private void RichTextBoxResize() {
richTextBox1.Top = toolStrip1.Height + toolStrip1.Top; richTextBox1.Left = 0; richTextBox1.Width = this.ClientSize.Width; richTextBox1.Height = this.ClientSize.Height - toolStrip1.Height - toolStrip1.Top statusStrip1.Height; }
1
openFileDialog1.FilterIndex = 1;
//设置当前文件过滤器
openFileDialog1.Title = "打开文件"; //设置对话框标题
openFileDialog1.InitialDirectory = Application.StartupPath;//初始目录设为启动路径
注:Form1的AutoSize属性值设为False,则窗口的大小正常改变,不随着输入而变。
4
三、编写事件代码
(一)添加窗体事件
(1)添加Form1.cs的Load事件
private void Form1_Load(object sender, EventArgs e) {
RichTextBoxResize(); Fname = ""; FExtName = "txt"; this.Text = "新建-简单文本编辑器"; MenuItem2_1.Enabled = false;//撤销菜单不可用 MenuItem2_2.Enabled = false;//重做菜单不可用 MenuItem2_3.Enabled = false;//剪切菜单不可用 MenuItem2_4.Enabled = false;//复制菜单不可用 MenuItem2_5.Enabled = false;//粘贴菜单不可用 MenuItem3_4_1.Checked = true;//选中白色背景 lblCharNum.Text = "字符数:" + Convert.ToString(richTextBox1.TextLength) + " "; lblSave.Text = "已保存 ";
简单文本编辑器
二、添加方法
在 class Form1 类中定义两个变量:
private string Fname; //存放打开的文件名 private void FileOpen() //打开文件方法
(1)添加“未保存处理”方法
private void NotSaveProcess() //没有保存处理方法 {
//lblSave.Text="已保存";
}
(5)添加“另存为”方法
添加一个SaveFileDialog控件(对话框选项卡下),该控件主要作用用来弹出Windows中的“另存 为”对话框。“另存为”对话框提供用户选择(或输入)要保存的文件名。
private void SaveAs() //“另存为”方法
} } }
(2)添加“新建”文件方法
private void NewFile() //新建文件方法 {
NotSaveProcess(); Fname = ""; FExtName = "txt"; richTextBox1.Text = ""; this.Text = "新建-简单文本编辑器"; richTextBox1.Modified = false; //lblSave.Text="已保存"; }
if (richTextBox1.Modified) //如果richTextBox1中的文本被修改 {
if (MessageBox.Show("文件未保存,是否保存?", "保存提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ if (Fname == "") SaveAs(); else { if (FExtName == "txt") richTextBox1.SaveFile(Fname, RichTextBoxStreamType.PlainText); else richTextBox1.SaveFile(Fname, RichTextBoxStreamType.RTFText); }
openFileDialog1.RestoreDirectory = true; //自动回复初始目录
openFilewk.baidu.comialog1.ShowDialog(); //弹出打开文件对话框
Fname = openFileDialog1.FileName;//获取打开的文件名
if (Fname != "")
3
}
简单文本编辑器
第三部分 状态栏设计
a)添加一个状态栏控件statusStrip1,添加3个标签。Name属性值分别为:lblCharNum、lblSave、 lblTime;Text属性值分别为:字符数、保存、当前时间。
b)编写richTextBox1的TextChanged事件,代码如下:
private void richTextBox1_TextChanged(object sender, EventArgs e)