根据GitHub - lizimeow/MiniWord: 文本编辑器(c#作业)这个github代码,删改出的本次期末作业。 代码和文档分享给大家,放到百度网盘里面了,有需要的可以下载 。链接: https://pan.baidu.com/s/1ZJX66T4h9Jn5lOnpH61KtA?pwd=39fr 提取码: 39fr 复制这段内容后打开百度网盘手机App,操作更方便哦。
运行界面
3.1“文件”的各个功能截图
点击运行,来到主界面。
点击文件,在展开的众多选项中,可以实现文本文档的新建,打开,保存,另存为,关闭,退出等功能。
其中新建文档,可以新建多个文档。如图所示。
3.2“编辑”的各个功能截图
点击编辑,在展开的众多选项中,可以实现文本文档的复制,粘贴,剪切,全选,设置文本(点开设置文本,有字体和颜色选项),查找,插入时间,自动换行(默认是选中状态)功能。
(1)全选和复制的功能截图。
(2)插入日期和时间功能截图
(3)自动换行功能截图
(4)查找功能及结果截图
(5)文本字体颜色和字体设置功能截图,及结果截图
3.3“窗口”各个功能截图
点击窗口,在展开的众选项中,可以实现文档的层叠、水平平铺、垂直平铺功能。如图所示。
(1)层叠功能截图
- 水平平铺、垂直平铺功能截图,相同
3.4“帮助”功能截图
点击帮助,只有一个“关于”选项。
以下是部分代码
2.1.1新建文档
TextForm childForm = new TextForm();
childForm.MdiParent = this;
childForm.Text = "新建文档" + childFormNumber++;
childForm.Show();
2.1.2打开文档
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog.Filter = "文本文件(*.txt)|*.txt|Rtf文档(*.rtf)|*.rtf";
if (openFileDialog.ShowDialog(this) == DialogResult.OK)
{
string str;
string FileName = openFileDialog.FileName;
StreamReader sr = new StreamReader(FileName,Encoding.Default);
TextForm tf = new TextForm();
tf.MdiParent = this;
tf.Text = FileName;
tf.Show();
while ((str= sr.ReadLine())!= null)
{
tf.getRichTextBox().Text += str + '\n';
}
}
2.1.3保存文档
string fileName = form.Text;
if (File.Exists(fileName))
{
FileStream fs = new FileStream(fileName, FileMode.Open);
StreamWriter sw = new StreamWriter(fs);
try
{
foreach (string line in form.getRichTextBox().Lines)
{
sw.WriteLine(line);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
sw.Close();
fs.Close();
}
}
else
{
SaveAs(form,sender, e);
}
2.1.4关闭文档
this.ActiveMdiChild.Close();
2.1.5关闭所有文档
foreach (Form childForm in MdiChildren)
{
childForm.Close();
}
2.2.1设置文本颜色
FontDialog fontDialog = new FontDialog();
if (fontDialog.ShowDialog() == DialogResult.OK)
{
Font font = fontDialog.Font;
TextForm tf = (TextForm)this.ActiveMdiChild;
tf.getRichTextBox().Font = font;
printFont = font;
}
2.2.2设置文本字体
ColorDialog colorDialog = new ColorDialog();
if (colorDialog.ShowDialog() == DialogResult.OK)
{
Color color = colorDialog.Color;
TextForm tf = (TextForm)this.ActiveMdiChild;
tf.getRichTextBox().ForeColor = color;
}