c#.net 文本编辑控件——设置RichTextBox的字体和字体大小
2009-08-28 16:52
771 查看
上一篇文章讨论了有关设置字体格式:粗体、斜体和下划线的问题,本文将要继续讨论的是如何设置字体和字体大小。字体和字体大小的设置与字体格式的设置道理是相同的,也要区分被选中文本的SelectionFont是否为空的问题。下面分别是设置字体种类和字体大小的相关代码。
/// <summary> /// 设置字体种类,对应于字体下拉框选项 /// </summary> /// <param name="fontName">被选中的字体名</param> private void ChangeFont(string fontName) { if (fontName == string.Empty) throw new System.Exception("字体名称参数错误,不能为空"); RichTextBox tempRichTextBox = new RichTextBox(); //用于保存被选中文本的副本 //curRichTextBox是当前文本,即原型 int curRtbStart = curRichTextBox.SelectionStart; int len = curRichTextBox.SelectionLength; int tempRtbStart = 0; Font font = curRichTextBox.SelectionFont; if (len <= 1 && null != font) { curRichTextBox.SelectionFont = new Font(fontName, font.Size, font.Style); return; } tempRichTextBox.Rtf = curRichTextBox.SelectedRtf; for (int i = 0; i < len; i++) //逐个设置字体种类 { tempRichTextBox.Select(tempRtbStart + i, 1); tempRichTextBox.SelectionFont = new Font(fontName, tempRichTextBox.SelectionFont.Size, tempRichTextBox.SelectionFont.Style); } //将副本内容插入到到原型中 tempRichTextBox.Select(tempRtbStart, len); curRichTextBox.SelectedRtf = tempRichTextBox.SelectedRtf; curRichTextBox.Select(curRtbStart, len); curRichTextBox.Focus(); }
/// <summary> /// 设置字体大小,对应于字号下拉框选项 /// </summary> /// <param name="fontSize">被选中的字号</param> private void ChangeFontSize(float fontSize) { if (fontSize <= 0.0) throw new InvalidProgramException("字号参数错误,不能小于等于0.0"); RichTextBox tempRichTextBox = new RichTextBox(); int curRtbStart = curRichTextBox.SelectionStart; int len = curRichTextBox.SelectionLength; int tempRtbStart = 0; Font font = curRichTextBox.SelectionFont; if (len <= 1 && null != font) { curRichTextBox.SelectionFont = new Font(font.Name, fontSize, font.Style); return; } tempRichTextBox.Rtf = curRichTextBox.SelectedRtf; for (int i = 0; i < len; i++) { tempRichTextBox.Select(tempRtbStart + i, 1); tempRichTextBox.SelectionFont = new Font(tempRichTextBox.SelectionFont.Name, fontSize, tempRichTextBox.SelectionFont.Style); } tempRichTextBox.Select(tempRtbStart, len); curRichTextBox.SelectedRtf = tempRichTextBox.SelectedRtf; curRichTextBox.Select(curRtbStart, len); curRichTextBox.Focus(); }
相关文章推荐
- c#.net 文本编辑控件——设置RichTextBox的字体格式:粗体、斜体、下划线
- c#.net 文本编辑控件——使用 Visual C# .NET 打印 RichTextBox 控件的内容
- c#.net 文本编辑控件——RichTextBox中插入图片
- c#.net 文本编辑控件——RichTextBox中插入图片
- 【MFC系列】MFC快速设置控件文本字体、大小、颜色、背景
- intelliJ IDEA (JetBrains PyCharm)中 3个地方设置字体大小,文本编辑的字体大小,界面字体大小,显示log的字体大小
- MFC静态文本控件如何设置字体--大小和颜色及背景色
- c#.net 文本编辑控件——C# RichTextBox对象中插入文字而不改变文本格式
- c# asp.net 调用系统设置字体文本框,设置label或页面字体,大小,FontDialog
- c#.net 文本编辑控件——C# RichTextBox对象中插入文字而不改变文本格式
- MFC——设置控件文本字体、大小、颜色、背景
- 动态设置编辑框的大小、 文本字体、颜色等
- eclipse中编辑文本的字体大小设置
- 在eclipse 设置编辑区、控制台、xml等文本文件字体大小
- android根据字体大小设置控件高度
- HOW TO:使用 Visual C# .NET 打印 RichTextBox 控件的内容
- MFC操作——设置静态文本 大小 字体格式 颜色
- \t\t在textarea里面插入图片,修改字体大小和颜色(文本富编辑)
- C#.Net上传文件大小限制设置
- VC控件大小和字体设置