您的位置:首页 > 编程语言 > C#

RickTextBox控件基础用法

2016-01-21 16:14 489 查看

.NET Framework内置了两个基本的控件用来提取用户输入的文本:TextBox和RickTextBox。这两个控件都派生于基类TextBoxBase,而TextBoxBase派生于Control类。

TextBox控件常用于从用户获取简短的文本字符串,而RichTextBox用于显示和输入格式化的文本(例如,黑体、下划线和斜体)。RickTextBox控件使用标准的格式化文本,称为Rich
Text Format(富文本格式)或RTF。

示例

新建一个C#窗体程序,界面如下所示,该示例可以修改RickTextBox控件中选中文本的字体、字号和对齐方式,同时可以将文本保存为rtf文件。



Bold按钮

下面的示例代码是对于RichTextBox控件中选中的文本进行加粗或者取消加粗。修改文本字体需要用到RichTextBox控件的SelectionFont属性。

<span style="font-size:12px;"> private void ButtonBold_Click(object sender, EventArgs e)
{
Font oldFont;
Font newFont;

//获得当前文本的字体
oldFont = RichTextBox.SelectionFont;

if (oldFont.Bold)
{
//以oldFont为原型,创建新字体,取消了粗体格式
newFont = new Font(oldFont, oldFont.Style & ~FontStyle.Bold);
}
else
{
//以oldFont为原型,创建新字体,添加了粗体格式
newFont = new Font(oldFont, oldFont.Style | FontStyle.Bold);
}

//新字体赋给文本
RichTextBox.SelectionFont = newFont;

//焦点返回给RichTextBox
RichTextBox.Focus();
}</span>在RichTextBox控件中选择文本后,点击“Bold”后,结果如下图所示:



对齐方式

也可以修改对齐方式,代码如下。修改对齐方式,必须检查RichTextBox控件的SelectionAlignment属性,HorizontalAlignment是一个枚举,其值有Left、Right、Center、Justify和NotSet。下面的示例代码只是检查文本是否居中,如果居中就把对齐方式修改为左对齐,如果不是就修改为居中。

private void ButtonCenter_Click(object sender, EventArgs e)
{
if (RichTextBox.SelectionAlignment == HorizontalAlignment.Center)
{
RichTextBox.SelectionAlignment = HorizontalAlignment.Left;
}
else
{
RichTextBox.SelectionAlignment = HorizontalAlignment.Center;
}

//焦点返回给RichTextBox
RichTextBox.Focus();
}

选中文本,点击“Center”按钮后,运行结果如下所示:



SizeUp字体增大

可以修改控件的字号。示例代码如下所示,当点击“SizeUp”按钮时,字体字号增大。SelectionFont.Size可以获得当前文本的字体大小,注意是float类型,包括用“public Font(FontFamily family, float emSize);”构造函数创建新字体时,字号也是float类型。

这里之所以试图获得当前的“FontFamily”而不是“Font”,主要是因为和字号相关的构造函数“public Font(FontFamily family, float emSize);”的第一个参数是FontFamily类型,它表示字体所属的字体系列。

private void ButtonSizeUp_Click(object sender, EventArgs e)
{
FontFamily currentFontFamily;
Font newFont;

//获得当前字体所属的字体系列
currentFontFamily = RichTextBox.SelectionFont.FontFamily;

//获得当前字体的大小
float oldFontSize = RichTextBox.SelectionFont.Size;

//设置新的字体大小
float newFontSize = Convert.ToSingle(oldFontSize + 2.0);

//创建新字体
newFont = new Font(currentFontFamily, newFontSize);

RichTextBox.SelectionFont = newFont;
RichTextBox.Focus();
}

其运行结果如下所示:



Save保存

将窗体文本保存成rtf文件,其代码如下。由于我们处理的是文件,所以有可能会遇到异常,必须处理这些异常。

private void ButtonSave_Click(object sender, EventArgs e)
{
try
{
RichTextBox.SaveFile("Text.rtf");
}
catch (System.Exception err)
{
MessageBox.Show(err.Message);
}
}
}

用word打开生成的“Text.rtf”文件,其结果如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息