C#期末综合作业Word文件下载.docx
- 文档编号:21993206
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:33
- 大小:1.43MB
C#期末综合作业Word文件下载.docx
《C#期末综合作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《C#期末综合作业Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。
综合作业要求在【例9-5】的基础上,完善简单文件编辑器的功能.:
在文件菜单中增加文件打印相关功能(打印设置、打印预览,文件打印);
在编辑菜单中增加查找和替换功能;
完善工具栏功能;
增加弹出式菜单,并实现各菜单项功能;
代码设计中增加异常处理,增强程序的健壮性;
文本编辑器需要的其他功能。
代码集目录
2.系统基本功能及具体实现
2.1文件菜单栏
2.1.1新建(Ctrl+N)
“新建”是新建立一个编辑器,其实现代码如下,定义了一个NewFile方法,然后在单击“新建”按钮事件中调用该方法以实现新建文件的功能。
代码:
privatevoidNewFile()
{
NotSaveProcess();
//调用过程NotSaveProcess实现没有保存处理
Fname="
"
;
//文件名为空
FExtName="
//文件的扩展名为空
RichTextBox1.Text="
//清空RichTextBox1中显示的文本
this.Text="
新建-简单文件编辑器"
//设置标题
RichTextBox1.Modified=false;
lblSave.Text="
已保存"
}
2.1.2打开(Ctrl+O)
指弹出一个对话框,过滤出*.txt、*.RTF格式的文件,单击“打开”按钮事件中调用该方法以实现打开文件的功能,如图:
privatevoidFileOpen()
{NotSaveProcess();
//调用过程NotSaveProcess实现没有保存的处理
//设置过滤器属性
openFileDialog1.Filter="
文本文件(*.txt)|*.txt|RTF格式文件(*.RTF)|*.RTF"
openFileDialog1.FilterIndex=1;
//设置当前文件过滤器
openFileDialog1.Title="
打开文件"
//设置对话框的标题
openFileDialog1.ShowDialog();
//弹出打开文件对话框
Fname=openFileDialog1.FileName;
//获取打开的文件名
if(Fname!
="
)
{//如果选择了文件
if(openFileDialog1.FilterIndex==1)
//如果是文本文件
RichTextBox1.LoadFile(Fname,RichTextBoxStreamType.PlainText);
//文本文件
txt"
else
{RichTextBox1.LoadFile(Fname,RichTextBoxStreamType.RichText);
//RTF文件
rtf"
this.Text=Fname+"
-简单文件编辑器"
//文件刚打开时,把RichtextBox1.Modified属性值设为False
}
2.1.3打印(Ctrl+T)
打印功能分为打印设置、打印预览、页面设置3部分,如图:
打印
privatevoidprint_Click(objectsender,EventArgse)
printDialog1.Document=printDocument1;
if(printDialog1.ShowDialog()==DialogResult.OK)
printDocument1.Print();
privatevoidprintDocument1_PrintPage(objectsender,System.Drawing.Printing.PrintPageEventArgse)
{Fontft=newFont("
体¬
?
12,FontStyle.Regular);
e.Graphics.DrawString(RichTextBox1.Text,ft,Brushes.Black,newRectangleF(e.MarginBounds.Left,e.MarginBounds.Top,e.MarginBounds.Width,e.MarginBounds.Height));
打印设置
privatevoidprintset_Click(objectsender,EventArgse)
pageSetupDialog1.Document=printDocument1;
pageSetupDialog1.ShowDialog();
打印预览
privatevoidprintview_Click(objectsender,EventArgse)
printPreviewDialog1.Document=printDocument1;
printPreviewDialog1.ShowDialog();
功能实现如下:
打印设置:
打印预览:
打印:
a.选择打印机:
b.打印暂停截图:
c.完成打印:
2.1.4保存(Ctrl+S)
定义了一个Save方法,然后在单击“保存”按钮事件中调用该方法以保存文件,如图:
privatevoidSave()//该函数实现保存功能
if(RichTextBox1.Modified)//若RichTextBox1中的文本被修改,需保存
if(Fname=="
)//若文件名为空,文件尚未命名,则是第一次保存
SaveAs();
//调用SaveAs过程
else//文件已经命名,已经保存过
if(FExtName=="
)//如果是文本文件
RichTextBox1.SaveFile(Fname,RichTextBoxStreamType.PlainText);
else//RTF文件保存
RichTextBox1.SaveFile(Fname,RichTextBoxStreamType.RichText);
//保存后把RichtextBox1.Modified属性值变为False
2.1.5另存为(Ctrl+A)
弹出“另存为”对话框,供用户选择或输入要保存的文件名,并把RichTextBox1中的文本保存到该文件中去,代码如下:
privatevoidSaveAs()
{saveFileDialog1.Filter="
saveFileDialog1.FilterIndex=1;
saveFileDialog1.Title="
保存文件"
saveFileDialog1.ShowDialog();
//弹出保存文件对话框
Fname=saveFileDialog1.FileName;
//获取保存的文件名
)//如果输入了文件名
if(saveFileDialog1.FilterIndex==1)
//文本文件
//RTF文件
this.Text=Fname+"
}
2.1.6退出
privatevoidMenuItem1_6_Click(objectsender,EventArgse)
Application.Exit();
//退出应用程序
功能实现如图:
2.2编辑菜单
编辑菜单中,撤销、重做、复制、粘贴、剪切、全选等功能在【例9-5】的基础上均已实现,这里不做重点分析,其代码如下:
//“撤消”菜单项
privatevoidMenuItem2_1_Click(objectsender,EventArgse)
RichTextBox1.Undo();
//“重做”菜单项
privatevoidMenuItem2_2_Click(objectsender,EventArgse)
RichTextBox1.Redo();
//“剪切”菜单项
privatevoidMenuItem2_3_Click(objectsender,EventArgse)
RichTextBox1.Cut();
MenuItem2_1.Enabled=true;
//撤消菜单项可用
MenuItem2_2.Enabled=false;
//重做菜单项不可用
MenuItem2_3.Enabled=false;
//“剪切”菜单项不可用
MenuItem2_5.Enabled=true;
//“粘贴”菜单项可用
//“复制”菜单项
privatevoidMenuItem2_4_Click(objectsender,EventArgse)
RichTextBox1.Copy();
MenuItem2_1.Enabled=true;
//撤消菜单项不可用
//“粘贴”菜单项
privatevoidMenuItem2_5_Click(objectsender,EventArgse)
RichTextBox1.Paste();
MenuItem2_2.Enabled=true;
//“删除”菜单项
privatevoidMenuItem2_6_Click(objectsender,EventArgse)
RichTextBox1.SelectedText="
//清除选中文本
//“全选”菜单项
privatevoidMenuItem2_7_Click(objectsender,EventArgse)
RichTextBox1.SelectAll();
//选中全部文本
//查找
privatevoid查找与替换ToolStripMenuItem_Click(objectsender,EventArgse)
查找功能为作业中重点添加的功能,其在Form1基础上,弹出Form3对话框,该功能可以区分大小写,定义查找方向,为本次作业中特色功能:
Form1代码:
Form3find=newForm3();
find.Owner=this;
find.Show();
Form3代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
homework
{
publicpartialclassForm3:
Form
privateintfindPlace,i;
publicForm3()
InitializeComponent();
privatevoidbutton1_Click(objectsender,EventArgse)
stringqvfen=textBox1.Text.ToUpper();
stringRichTextBoxtext;
Form1mainform=(Form1)this.Owner;
try
if(checkBox1.Checked==true&
&
radioButton1.Checked==true)
if(i==0){findPlace=mainform.RichTextBox1.Text.Length;
i++;
if((findPlace=mainform.RichTextBox1.Text.LastIndexOf(textBox1.Text,findPlace))==-1)
MessageBox.Show("
向上查找完毕!
);
findPlace=0;
mainform.RichTextBox1.Select(findPlace,textBox1.Text.Length);
findPlace=findPlace-textBox1.Text.Length;
mainform.RichTextBox1.Focus();
elseif(radioButton1.Checked==true)
RichTextBoxtext=mainform.RichTextBox1.Text.ToUpper();
if((findPlace=RichTextBoxtext.LastIndexOf(qvfen,findPlace))==-1)
elseif(checkBox1.Checked==true&
radioButton2.Checked==true)
if((findPlace=mainform.RichTextBox1.Text.IndexOf(textBox1.Text,findPlace))==-1)
向下查找完毕!
findPlace=mainform.RichTextBox1.Text.Length;
;
findPlace=findPlace+textBox1.Text.Length;
if((findPlace=RichTextBoxtext.IndexOf(qvfen,findPlace))==-1)
catch(Exceptionex){MessageBox.Show(ex.ToString());
privatevoidbutton4_Click(objectsender,EventArgse)
this.Close();
privatevoidForm3_Load(objectsender,EventArgse)
checkBox1.Checked=true;
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
if(textBox1.Text=="
)
button1.Enabled=false;
button1.Enabled=true;
privatevoidlabel1_Click(objectsender,EventArgse)
privatevoidlabel2_Click(objectsender,EventArgse)
privatevoidradioButton1_CheckedChanged(objectsender,EventArgse)
privatevoidForm3_Load_1(objectsender,EventArgse)
//查找与替换
查找与替换功能为作业中重点添加的功能,其在Form1基础上,弹出Form2对话框,该功能可以区分大小写,定义查找方向,具有全部查找与全部替换功能,其思路与查找功能相似,具体代码如下:
:
Form1:
privatevoid查找与替换ToolStripMenuItem1_Click(objectsender,EventArgse)
Form2find=newForm2();
Form2:
publicpartialclassForm2:
publicForm2()
try{
RichTextBoxtext=mainform.RichTextBox1.Tex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 期末 综合 作业