基本信息
源码名称:C#多行文本框编辑器(可保存成word文档)
源码大小:49.17M
文件格式:.zip
开发语言:C#
更新时间:2019-06-24
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 10 元×
微信扫码支付:10 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
可在编辑中右击显示居中保存等等
可在编辑中右击显示居中保存等等
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using static Kuade.WindowsFormsApp1.form2; namespace Kuade.WindowsFormsApp1 { /// <summary> /// /// </summary> public partial class FrmMainForm : XtraForm { //用来纪录文档的数目,虽然 this.MdiChildren.Length //这个属性也可以指向,但是效果不理想 private int docCount = 1; //判断保存是否打开的文件路径 private string filePath; private string fileType; /// <summary> /// 构造函数 /// </summary> public FrmMainForm() { InitializeComponent(); } //定义handler委托类型 public delegate void SearchEventHandle(object sender, SearchEventArgsClass e); public delegate void ReplaceEventHandle(object sender, ReplaceEventArgClass e); //定义查找事件 public event SearchEventHandle SearchEvent; //定义替换事件 public event ReplaceEventHandle ReplaceEvent; //查找执行函数 //private void MySearch(object sender, SearchEventArgsClass e) //{ // string strToSearch = e.SearchString; //查找的字符串 // //如果查找字符串为空,则不反应 // if (strToSearch.Length == 0) // return; // int start = richTextBox1.SelectionStart;//查找起始位置 // //调用richtextbox的find方法进行查询,区分大小写 // start = richTextBox1.Find(strToSearch, start, RichTextBoxFinds.MatchCase); // //查询到尾部,结束查询,弹出对话框 // if (start == -1) // { // MessageBox.Show("已查找到文档的结尾", "查找结束对话框"); // start = 0; // } // else // { // start = start strToSearch.Length;//查找下一处,从该位置开始查询 // //选中查询到的字符串 // richTextBox1.Select(); // richTextBox1.Focus(); // } //} //替换执行函数: //private void MyReplace(object sender, ReplaceEventArgClass e) //{ // string strToSearch = e.SearchString; //要替换的字符串 // string strToReplace = e.ReplaceString; //新的字符串 // //如果要替换的字符串或者新的字符串为空,则无反应 // if (strToReplace.Length == 0 || richTextBox1.SelectionLength == 0) return; // //将选中的字符串替换成新的字符串 // richTextBox1.SelectedText = e.ReplaceString; // int start = richTextBox1.SelectionStart; // start = richTextBox1.Find(strToSearch, start, RichTextBoxFinds.MatchCase); // if (start == -1) // { // MessageBox.Show("已查找到文档的结尾", "查找结束对话框"); // start = 0; // } // else // { // start = start strToSearch.Length; // richTextBox1.Select(); // richTextBox1.Focus(); // } //} private void FrmMainForm_Load(object sender, EventArgs e) { richTextBox1.Font = new Font("宋体", richTextBox1.Font.Size, richTextBox1.Font.Style); } /// <summary> /// 斜体 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem5_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Italic); //Font oldFont = richTextBox1.SelectionFont; //Font newFont; //if (oldFont.Italic) //{ // newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Italic); //} //else //{ // newFont = new Font(oldFont, oldFont.Style | FontStyle.Italic); //} //richTextBox1.SelectionFont = newFont; //richTextBox1.Focus(); } private void barButtonItem4_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Bold); BTNType btnType; if (Enum.TryParse<BTNType>(barButtonItem4.Tag.ToString(), out btnType)) { if (btnType == BTNType.Search) { if (!string.IsNullOrEmpty(this.richTextBox1.Text.Trim())) { this.richTextBox1.Tag = this.richTextBox1.Text.Trim(); } else { return; } } IRichFormat richFomat = RichFormatFactory.CreateRichFormat(btnType); richFomat.SetFormat(this.richTextBox1); } } /// <summary> /// 下划线 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem6_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Underline); } /// <summary> /// 左对齐 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem8_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Left; } /// <summary> /// 居中对齐 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem10_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Center; } /// <summary> /// 右对齐 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem9_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Right; } private void barButtonItem11_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (fontDialog1.ShowDialog() == DialogResult.OK) richTextBox1.SelectionFont = fontDialog1.Font; } private void barButtonItem12_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (colorDialog1.ShowDialog() == DialogResult.OK) richTextBox1.SelectionColor = colorDialog1.Color; } /// <summary> /// 撤销 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Undo(); } private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } /// <summary> /// 粘贴 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem14_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Paste(); } /// <summary> /// 复制 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem13_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Copy(); } /// <summary> /// 剪切 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem16_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Cut(); } private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = "d:\\"; saveFileDialog1.Filter = "ext files (*.RTF)|*.RTF|*.docx|All files(*.*)|*>**"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; DialogResult dr = saveFileDialog1.ShowDialog(); if (dr == DialogResult.OK && saveFileDialog1.FileName.Length > 0) { richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText); MessageBox.Show("存储文件成功!", "保存文件"); } } /// <summary> /// 打开文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barLargeButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } private void barLargeButtonItem4_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } //查找执行函数 private void MySearch(object sender, SearchEventArgsClass e) { this.Activate(); string strToSearch = e.SearchString; //查找的字符串 //如果查找字符串为空,则不反应 if (strToSearch.Length == 0) return; int start = richTextBox1.SelectionStart 1 ;//查找起始位置 //调用richtextbox的find方法进行查询,区分大小写 start = richTextBox1.Find(strToSearch, start, -1, RichTextBoxFinds.MatchCase); //查询到尾部,结束查询,弹出对话框 if (start == -1) { MessageBox.Show("已查找到文档的结尾", "查找结束对话框"); start = 0; } else { start = start strToSearch.Trim().Length;//查找下一处,从该位置开始查询 //选中查询到的字符串 richTextBox1.Select(); richTextBox1.Focus(); } } //替换执行函数: private void MyReplace(object sender, ReplaceEventArgClass e) { string strToSearch = e.SearchString; //要替换的字符串 string strToReplace = e.ReplaceString; //新的字符串 //如果要替换的字符串或者新的字符串为空,则无反应 if (strToReplace.Length == 0 || richTextBox1.SelectionLength == 0) return; //将选中的字符串替换成新的字符串 richTextBox1.SelectedText = e.ReplaceString; int start = richTextBox1.SelectionStart; start = richTextBox1.Find(strToSearch, start, RichTextBoxFinds.MatchCase); if (start == -1) { MessageBox.Show("已查找到文档的结尾", "查找结束对话框"); start = 0; } else { start = start strToSearch.Length; richTextBox1.Select(); richTextBox1.Focus(); } } /// <summary> /// 删除线 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem17_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Strikeout); } /// <summary> /// 缩进对齐 10 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem18_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionIndent = richTextBox1.SelectionIndent 10; richTextBox1.Focus(); } /// <summary> /// 缩进对齐-10 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem19_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionIndent = richTextBox1.SelectionIndent - 10; richTextBox1.Focus(); } /// <summary> /// 上标 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem20_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (richTextBox1.SelectionCharOffset > 0) { richTextBox1.SelectionCharOffset = 0; } else { richTextBox1.SelectionCharOffset = 5; } richTextBox1.Focus(); } private void barButtonItem21_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { ColorDialog f = new ColorDialog(); if (f.ShowDialog() == DialogResult.OK) { richTextBox1.SelectionBackColor = f.Color; } richTextBox1.Focus(); } /// <summary> /// UL列表,项目符号样式 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem22_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (richTextBox1.SelectionBullet) { richTextBox1.SelectionBullet = false; } else { richTextBox1.SelectionBullet = true; richTextBox1.BulletIndent = 10; } richTextBox1.Focus(); } private void barButtonItem23_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory; o.Title = "请选择图片"; o.Filter = "jpeg|*.jpeg|jpg|*.jpg|png|*.png|gif|*.gif"; if (o.ShowDialog() == DialogResult.OK) { string fileName = o.FileName; try { Image bmp = Image.FromFile(fileName); Clipboard.SetDataObject(bmp); DataFormats.Format dataFormat = DataFormats.GetFormat(DataFormats.Bitmap); if (richTextBox1.CanPaste(dataFormat)) { richTextBox1.Paste(dataFormat); } } catch (Exception exc) { MessageBox.Show("图片插入失败。" exc.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } richTextBox1.Focus(); } private void barButtonItem24_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectedText = ""; richTextBox1.Focus(); } private void BarButtonItem25_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { openFileDialog1.Filter = "文本文件|*.txt;*.html;*.rtf|所有文件|*.*";//文件打开的过滤器;*.docx;*.doc; if (openFileDialog1.ShowDialog() == DialogResult.OK) { var title = openFileDialog1.FileName; this.Text = title; //显示打开的文件名 richTextBox1.Modified = false; string ext = title.Substring(title.LastIndexOf(".") 1); //获取文件格式; ext = ext.ToLower(); //转换成小写 System.IO.FileStream fs = new System.IO.FileStream(title, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.StreamReader sr = new System.IO.StreamReader(fs, Encoding.Default);//以UTF-8格式进行读取文件 filePath = title; if (ext == "txt") //加载rtf文件 { richTextBox1.Text = sr.ReadToEnd();//读取文件流从当前位置到结尾的所有字符 } else { richTextBox1.LoadFile(title, RichTextBoxStreamType.RichText); } fs.Close(); sr.Close(); } //if (openFileDialog1.ShowDialog() == DialogResult.OK) //{ // filePath = openFileDialog1.FileName; // fileType = filePath.Substring(filePath.LastIndexOf('.') 1); // //获取本地文件名称 // string fileName = filePath.Substring(filePath.LastIndexOf('\\') 1, filePath.LastIndexOf('.') - filePath.LastIndexOf('\\') - 1); // //当不是打开这两种类型时自动抛出异常 // try // { // if (fileType == "txt") // { // DocForm df = new DocForm(filePath); // df.MdiParent = this; // df.rtbContent.LoadFile(filePath, RichTextBoxStreamType.PlainText); // df.Text = fileName; // df.Show(); // } // if (fileType == "rtf") // { // DocForm df = new DocForm(filePath); // df.MdiParent = this; // df.Text = fileName; // df.rtbContent.LoadFile(filePath, RichTextBoxStreamType.RichText); // df.Show(); // } // } // catch (Exception ex) // { // MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; // } //} } private void BarButtonItem26_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = "d:\\"; saveFileDialog1.Filter = "ext files (*.RTF)|*.RTF|*.docx|All files(*.*)|*>**"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; DialogResult dr = saveFileDialog1.ShowDialog(); if (dr == DialogResult.OK && saveFileDialog1.FileName.Length > 0) { richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText); MessageBox.Show("存储文件成功!", "保存文件"); } } private void BarButtonItem29_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { form2 SR = new form2(this); SR.Show();//打开非模式对话框 //创建委托实例,并使用委托的多播使得每一次查找下一处不需要重头开始 SR.SearchEvent = new form2.SearchEventHandle(MySearch); //订阅查找事件 SR.ReplaceEvent = new form2.ReplaceEventHandle(MyReplace);//订阅替换事件 } private void BarButtonItem30_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory; o.Title = "请选择图片"; o.Filter = "jpeg|*.jpeg|jpg|*.jpg|png|*.png|gif|*.gif"; if (o.ShowDialog() == DialogResult.OK) { string fileName = o.FileName; try { Image bmp = Image.FromFile(fileName); Clipboard.SetDataObject(bmp); DataFormats.Format dataFormat = DataFormats.GetFormat(DataFormats.Bitmap); if (richTextBox1.CanPaste(dataFormat)) { richTextBox1.Paste(dataFormat); } } catch (Exception exc) { MessageBox.Show("图片插入失败。" exc.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } richTextBox1.Focus(); } private void BarButtonItem31_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Bold); BTNType btnType; if (Enum.TryParse<BTNType>(barButtonItem4.Tag.ToString(), out btnType)) { if (btnType == BTNType.Search) { if (!string.IsNullOrEmpty(this.richTextBox1.Text.Trim())) { this.richTextBox1.Tag = this.richTextBox1.Text.Trim(); } else { return; } } IRichFormat richFomat = RichFormatFactory.CreateRichFormat(btnType); richFomat.SetFormat(this.richTextBox1); } } private void BarButtonItem32_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Italic); } private void BarButtonItem33_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Underline); } private void BarButtonItem37_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Left; } private void BarButtonItem38_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Center; } private void BarButtonItem39_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Right; } private void 期间颜色ToolStripMenuItem_Click(object sender, EventArgs e) { if (colorDialog1.ShowDialog() == DialogResult.OK) richTextBox1.SelectionColor = colorDialog1.Color; } private void RichTextBox1_TextChanged(object sender, EventArgs e) { } private void 复制ToolStripMenuItem_Click(object sender, EventArgs e) { richTextBox1.Copy(); } private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e) { richTextBox1.Paste(); } private void 剪切ToolStripMenuItem_Click(object sender, EventArgs e) { richTextBox1.Cut(); } private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) { richTextBox1.SelectedText = ""; richTextBox1.Focus(); } private void 背景颜色ToolStripMenuItem_Click(object sender, EventArgs e) { ColorDialog f = new ColorDialog(); if (f.ShowDialog() == DialogResult.OK) { richTextBox1.SelectionBackColor = f.Color; } richTextBox1.Focus(); } private void 插入图片ToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory; o.Title = "请选择图片"; o.Filter = "jpeg|*.jpeg|jpg|*.jpg|png|*.png|gif|*.gif"; if (o.ShowDialog() == DialogResult.OK) { string fileName = o.FileName; try { Image bmp = Image.FromFile(fileName); Clipboard.SetDataObject(bmp); DataFormats.Format dataFormat = DataFormats.GetFormat(DataFormats.Bitmap); if (richTextBox1.CanPaste(dataFormat)) { richTextBox1.Paste(dataFormat); } } catch (Exception exc) { MessageBox.Show("图片插入失败。" exc.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } richTextBox1.Focus(); } private void BarButtonItem40_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { openFileDialog1.Filter = "文本文件|*.txt;*.html;*.rtf|所有文件|*.*";//文件打开的过滤器;*.docx;*.doc; if (openFileDialog1.ShowDialog() == DialogResult.OK) { var title = openFileDialog1.FileName; this.Text = title; //显示打开的文件名 richTextBox1.Modified = false; string ext = title.Substring(title.LastIndexOf(".") 1); //获取文件格式; ext = ext.ToLower(); //转换成小写 System.IO.FileStream fs = new System.IO.FileStream(title, System.IO.FileMode.Open, System.IO.FileAccess.Read); System.IO.StreamReader sr = new System.IO.StreamReader(fs, Encoding.Default);//以UTF-8格式进行读取文件 filePath = title; if (ext == "txt") //加载rtf文件 { richTextBox1.Text = sr.ReadToEnd();//读取文件流从当前位置到结尾的所有字符 } else { richTextBox1.LoadFile(title, RichTextBoxStreamType.RichText); } fs.Close(); sr.Close(); } } private void BarButtonItem41_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (filePath == null || filePath == "") { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = "d:\\"; saveFileDialog1.Filter = "ext files (*.RTF)|*.RTF|*.docx|*.doc|All files(*.*)|*>**"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; DialogResult dr = saveFileDialog1.ShowDialog(); if (dr == DialogResult.OK && saveFileDialog1.FileName.Length > 0) { richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText); MessageBox.Show("存储文件成功!", "保存文件"); } } else { richTextBox1.SaveFile(filePath, RichTextBoxStreamType.RichText); MessageBox.Show("存储文件成功!", "保存文件"); } } private void BarButtonItem42_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Cut(); } private void BarButtonItem43_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Copy(); } private void BarButtonItem44_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Paste(); } private void 头点符号ToolStripMenuItem_Click(object sender, EventArgs e) { if (richTextBox1.SelectionBullet) { richTextBox1.SelectionBullet = false; } else { richTextBox1.SelectionBullet = true; richTextBox1.BulletIndent = 10; } richTextBox1.Focus(); } private void 字体ToolStripMenuItem_Click(object sender, EventArgs e) { if (fontDialog1.ShowDialog() == DialogResult.OK) richTextBox1.SelectionFont = fontDialog1.Font; } private void BarButtonItem52_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Undo(); } private void BarButtonItem49_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Bold); BTNType btnType; if (Enum.TryParse<BTNType>(barButtonItem4.Tag.ToString(), out btnType)) { if (btnType == BTNType.Search) { if (!string.IsNullOrEmpty(this.richTextBox1.Text.Trim())) { this.richTextBox1.Tag = this.richTextBox1.Text.Trim(); } else { return; } } IRichFormat richFomat = RichFormatFactory.CreateRichFormat(btnType); richFomat.SetFormat(this.richTextBox1); } } private void BarButtonItem50_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Italic); } private void BarButtonItem51_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Underline); } private void BarButtonItem53_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Redo(); } private void BarButtonItem45_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Left; } private void BarButtonItem46_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Center; } private void BarButtonItem47_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.richTextBox1.SelectionAlignment = HorizontalAlignment.Right; } private void 删除线条ToolStripMenuItem_Click(object sender, EventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Strikeout); } private void BarButtonItem54_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Undo(); } private void BarButtonItem55_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.Redo(); } private void BarButtonItem56_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (richTextBox1.SelectionCharOffset > 0) { richTextBox1.SelectionCharOffset = 0; } else { richTextBox1.SelectionCharOffset = 5; } richTextBox1.Focus(); } private void BarButtonItem57_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (richTextBox1.SelectionCharOffset > 0) { richTextBox1.SelectionCharOffset = 0; } else { richTextBox1.SelectionCharOffset = -5; } richTextBox1.Focus(); } private void 缩进对齐ToolStripMenuItem_Click(object sender, EventArgs e) { richTextBox1.SelectionIndent = richTextBox1.SelectionIndent 10; richTextBox1.Focus(); } private void 缩进对齐ToolStripMenuItem1_Click(object sender, EventArgs e) { richTextBox1.SelectionIndent = richTextBox1.SelectionIndent - 10; richTextBox1.Focus(); } private void BarButtonItem59_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBoxPrintClass r = new richTextBoxPrintClass(); r.richTextBox = richTextBox1; r.ShowPrintDlg(); } private void BarButtonItem60_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBoxPrintClass r = new richTextBoxPrintClass(); r.richTextBox = richTextBox1; r.ShowShowPagePriviewDlg(); } private void BarEditItem7_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //if (combFontSize.SelectedItem > -1) richTextBox1.Font = new Font(combFontSize.Font.FontFamily,12, combFontSize.Font.Style); //float fsize = 12.0f; //{ // if (float.TryParse(combFontSize.EditValue.ToString(), out fsize)) // { // richTextBox1.Tag = fsize.ToString(); // IRichFormat richFomat = RichFormatFactory.CreateRichFormat(BTNType.FontSize); // richFomat.SetFormat(this.richTextBox1); // } // return; //} } private void BarButtonItem62_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBoxPrintClass r = new richTextBoxPrintClass(); r.richTextBox = richTextBox1; r.ShowShowPagePriviewDlg(); } private void BarButtonItem63_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBoxPrintClass r = new richTextBoxPrintClass(); r.richTextBox = richTextBox1; r.ShowPrintDlg(); } private void BarButtonItem64_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionIndent = richTextBox1.SelectionIndent 10; richTextBox1.Focus(); } private void BarButtonItem67_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionIndent = richTextBox1.SelectionIndent - 10; richTextBox1.Focus(); } private void BarButtonItem68_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (fontDialog1.ShowDialog() == DialogResult.OK) richTextBox1.SelectionFont = fontDialog1.Font; } private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) { float fsize = 12.0f; if (comboBox1.SelectedIndex > -1) { if (float.TryParse(comboBox1.SelectedItem.ToString(), out fsize)) { richTextBox1.Tag = fsize.ToString(); IRichFormat richFomat = RichFormatFactory.CreateRichFormat(BTNType.FontSize); richFomat.SetFormat(this.richTextBox1); } return; } } private void BarButtonItem48_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { } private void BtnSearch_Click(object sender, EventArgs e) { //Button btn = (Button)sender; //BTNType btnType; //if (Enum.TryParse<BTNType>(btn.Tag.ToString(), out btnType)) //{ // if (btnType == BTNType.Search) // { // if (!string.IsNullOrEmpty(this.txtSearch.Text.Trim())) // { // this.richTextBox1.Tag = this.txtSearch.Text.Trim(); // } // else // { // return; // } // } // IRichFormat richFomat = RichFormatFactory.CreateRichFormat(btnType); // richFomat.SetFormat(this.richTextBox1); //} } private int startPos = 0; private void TbbtnQuery_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (tstxtQuery.EditValue != null && Convert.ToString(tstxtQuery.EditValue) != "") { this.startPos = richTextBox1.Find(tstxtQuery.EditValue.ToString(), richTextBox1.SelectionStart 1, -1, RichTextBoxFinds.None); if (startPos >= 0) { startPos = tstxtQuery.EditValue.ToString().Trim().Length; } else { MessageBox.Show("已经搜索到了文档末尾了"); startPos = 0; } } } private void BarButtonItem70_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = "d:\\"; saveFileDialog1.Filter = "ext files (*.RTF)|*.RTF|*.docx|*.doc|All files(*.*)|*>**"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; DialogResult dr = saveFileDialog1.ShowDialog(); if (dr == DialogResult.OK && saveFileDialog1.FileName.Length > 0) { richTextBox1.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.RichText); MessageBox.Show("存储文件成功!", "保存文件"); } } private void BarButtonItem35_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (fontDialog1.ShowDialog() == DialogResult.OK) richTextBox1.SelectionFont = fontDialog1.Font; } private void BarButtonItem58_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Strikeout); } private void FrmMainForm_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("您将退出系统,是否继续?", "系统提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes) { e.Cancel = false; } else { e.Cancel = true; } } private void BarButtonItem27_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //Environment.Exit(0);//程序结束的很干净 Application.Exit(); } } }