二、程序综合设计——多文本编辑器

本C#程序是一个简单的多文本编辑器,可以编辑rtf、txt等其他类型的文本。支持字体效果更改——颜色、下划线等,并且可以插入图片。高级一点就是可以判断文件是否被打开。

一、程序主页面

二、设计思路 

1)功能流程

2)OpenFileDialog

  • //建立OpenFileDialog

OpenFileDialog dialog = new OpenFileDialog();

  • //设定Filter,过滤文件类型

dialog.Filter =  "RTF格式|*.rtf|文本文件|*.txt|所有文件|*.*";

  • //设定Multiselect,是否可以选择多个文件(false是不可多选)

dialog.Multiselect = false;

  • //假如使用者按下OK,则将文件名显示在TextBox1上

if (dialog.ShowDialog() == DialogResult.OK) {
       textBox1.Text = dialog.FileName;
}

3)RichTextBox简单操作方法

Cut() Copy() Paste()
剪切 复制 粘贴
richTextBox1.SelectionFont = new Font ("楷体", 12, FontStyle.Bold);  
//设置SelectionFont属性实现控件中的文本为楷体,大小为12,字样是粗体
richTextBox1.SelectionColor = System.Drawing.Color.Red;    
//设置SelectionColor属性实现控件中的文本颜色为红色
private void right_Click(object sender, EventArgs e){
      ((FrmDoc)this.ActiveMdiChild).rTBDoc.SelectionAlignment = HorizontalAlignment.Right;
}//文字右对齐

private void undo_Click(object sender, EventArgs e){
      ((FrmDoc)this.ActiveMdiChild).rTBDoc.Undo();
}//撤销功能

插入图片功能

private void img_Click(object sender, EventArgs e)
        {
            Bitmap bmp;
            OpenFileDialog openImageDialog = new OpenFileDialog();
            openImageDialog.Filter = "PNG图片|*.png|JPG图片|*.jpg|BMP图片|*.bmp|所有类型|*.*";
            openImageDialog.Multiselect = true;
            if (openImageDialog.ShowDialog() == DialogResult.OK)
            {
                string filename = openImageDialog.FileName;
                try
                {
                    bmp = new Bitmap(filename);
                    Clipboard.SetDataObject(bmp);
                    DataFormats.Format dft = DataFormats.GetFormat(DataFormats.Bitmap);
                    if (((FrmDoc)this.ActiveMdiChild).rTBDoc.CanPaste(dft))
                        ((FrmDoc)this.ActiveMdiChild).rTBDoc.Paste(dft);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("图片插入失败" + ex.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            openImageDialog.Dispose();
        }

System.IO.Path.GetFullPath(openFileDialog1.FileName);                             //绝对路径

System.IO.Path.GetExtension(openFileDialog1.FileName);                          //文件扩展名

System.IO.Path.GetFileNameWithoutExtension(openFileDialog1.FileName);//文件名没有扩展名

System.IO.Path.GetFileName(openFileDialog1.FileName);                          //得到文件

System.IO.Path.GetDirectoryName(openFileDialog1.FileName);                  //得到路径

猜你喜欢

转载自blog.csdn.net/weixin_42094220/article/details/82838847