winForm RichTextBox文档处理的相关功能

以前的我只知道RichTextBox是个多行文本框,可以当做一个文本域来用。但不知道类似于windows写字板的功能、word文字处理的功能都可以用RichTextBox实现。

 

1)RichTextBox实现文档管理的功能(如下图所示)

winForm RichTextBox文档处理的相关功能_第1张图片

在这个程序中,关键的功能是新建文档、打开文档、保存文档的功能。而显示文档的区域正是一个RichTextBox控件,下面一一来说明

新建文档的功能:就是打开一个新的窗口,指定父窗口

Frm2 f2 = new Frm2(); f2.MdiParent = this; f2.Show();

打开文档的功能:选择文档并且打开,然后加载在子窗体的RichTextBox控件中

openFileDialog1.Filter = "txt格式(*.txt)|*.txt|所有文件|*.*"; openFileDialog1.Title = "打开"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { frmchild.Text = openFileDialog1.FileName; frmchild.richTextBox1.Clear(); frmchild .richTextBox1 .LoadFile (openFileDialog1 .FileName , RichTextBoxStreamType.PlainText ); frmchild.MdiParent = this; frmchild .Show (); printDocument1.DocumentName = openFileDialog1.FileName; }

保存文档的功能:

saveFileDialog1.Filter = "文本文件(*txt)|*.txt"; saveFileDialog1.FilterIndex = 2; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { frmchild.richTextBox1.SaveFile(saveFileDialog1.FileName); }

 

 

2)利用RichTextBox实现文字的查找和定位,效果如下图所示

 winForm RichTextBox文档处理的相关功能_第2张图片

打开的功能就不介绍了同上,直接说说如何实现查询功能的吧。

if (textBox1.Text != "") { if (richTextBox1.Text.Length > 0) { if ((g_index = richTextBox1.Text.IndexOf(textBox1.Text, g_index)) == -1) { MessageBox.Show("没有找到结果"); g_index = 0; } else { richTextBox1.Select(g_index, textBox1.Text.Length); richTextBox1.SelectionColor = Color.Purple; g_index = g_index + textBox1.Text.Length; } } else { MessageBox.Show("请输入查询条件"); } }

 

 

3)RichTextBox插入图片,效果图如下:

winForm RichTextBox文档处理的相关功能_第3张图片

 

插入图片的功能描述:

openFileDialog1.Filter = "bmp文件(*.bmp)|*.bmp|jpg文件(*.jpg)|*.jpg|ico文件(*.ico)|*.ico"; openFileDialog1.Title = "打开图片"; openFileDialog1.FilterIndex = 2; if (openFileDialog1.ShowDialog() == DialogResult.OK) { Bitmap bmp = new Bitmap(openFileDialog1.FileName); Clipboard.SetDataObject(bmp, false); if (richTextBox1.CanPaste(DataFormats.GetFormat(DataFormats.Bitmap))) richTextBox1.Paste(); }

 

 

试想一下如果我们把上述所有功能集成在一起,对界面加以美化一下,对相关功能进行完善和处理,那么一个可以用作文字处理类似于word的文字处理软件是不是就这么诞生了!

良好的思维模式,可以给你的程序带来更多更好更新颖的体验。

 

你可能感兴趣的:(windows,文档,文档管理,WinForm,textbox)