RickTextBox控件基础用法



.NET Framework内置了两个基本的控件用来提取用户输入的文本:TextBoxRickTextBox。这两个控件都派生于基类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”文件,其结果如下图所示:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值