邀朋友种豆,一起分享吧
喜欢购买正品行货?那就去品牌街

C#中RichTextBox文本居中显示

来自:种豆 时间:2017-12-29 阅读:4862次 原文链接
    RichTextBox 控件不仅允许输入和编辑文本,同时还可以指定文本格式。为了改变RichTextBox文本的格式,首先要选定它。只有选定的文本才能赋予字符和段落格式。使用RichTextBox 的这些属性,可把文本设置成粗体、斜体,改变字体颜色,设置上标和下标、左右缩进、悬挂式缩进等效果。

1 如何使RichTextBox中的文字居中对齐、左对齐、右对齐?

    使RichTextBox中的文字居中对齐、左对齐、右对齐的代码如下:

this.richTextBox1.SelectionAlignment = HorizontalAlignment.Center;  //RichTextBox中的文本居中对齐
this.richTextBox1.SelectionAlignment = HorizontalAlignment.Left;    //RichTextBox中的文本左对齐
this.richTextBox1.SelectionAlignment = HorizontalAlignment.Right;   //RichTextBox中的文本右对齐
    如果RichTextBox在窗体启动时就获得焦点,直接使用就可以了。否则可以在窗体启动的时候调用RichTextBox的选中函数,如:

this.richTextBox1.SelectAll();

this.richTextBox1.Select(0, 0);

    设置此属性后,对齐设置将应用到插入点所在的段落及其后续段落。例如,如果 RichTextBox 控件内有两个段落,且插入点位于第二个段落内。如果将 SelectionAlignment 属性设置为 HorizontalAlignment.Center,则插入点所在的段落将在控件内居中。如果在第二个段落后创建了第三个段落,它也与控件的中心对齐。

    如果希望文档中的所有段落都居中,可以选择控件中的所有段落并将 SelectionAlignment 属性设置为 HorizontalAlignment.Center。

    注意:当选定文本包含多个采用混合对齐方式的段落时,SelectionAlignment 将会返回 SelectionAlignment.Left。

2 如何使RichTextBox中的第一行文字居中对齐、左对齐、右对齐?

    以下是设置RichTextBox第一行文字格式的演示代码:

string row1 = "RichTextBox第一行居中演示";
this.richTextBox1.AppendText(row1);
this.richTextBox1.AppendText(Environment.NewLine);
this.richTextBox1.AppendText("这是RichTextBox第二行的内容");
this.richTextBox1.AppendText(Environment.NewLine);
this.richTextBox1.AppendText("这是RichTextBox第三行的内容"); this.richTextBox1.Select(0, row1.Length);
this.richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
this.richTextBox1.SelectionColor = Color.Red;
this.richTextBox1.SelectionFont = new Font("宋体", 13);

3 一个有用的设置RichTextBox文字格式的实例

    如果我们在发表文章时包含以下两部分内容:
    1> 文章标题 - 单行文本框,但是可以设置标题的格式(字体颜色等)
    2> 文章正文 - RichTextBox
    现在要求预览已经写好的文章,要能够看到全文效果(包括文章标题和正文,其中文章标题占一行居中显示,且按照设置的格式显示)。

    假如文章正文文本框名字为:contentRichTextBox,由于打印预览时,富文本框的内容要包括标题和正文。那么我们新建一个RichTextBox对象,名为tmpRichTextBox。以下为将文章标题及正文都添加到tmpRichTextBox中的示例代码:

Font titleFont = new Font("宋体", 13);
string title = "titleText.Text.ToString()";
title
+= Environment.NewLine; //加换行符使标题独占一行
RichTextBox tmpRichTextBox = new RichTextBox();
tmpRichTextBox.AppendText(title);       
//首先添加文章标题
tmpRichTextBox.Select(0, title.Length);  //选中文章标题
tmpRichTextBox.SelectionFont = titleFont;//设置标题格式
tmpRichTextBox.SelectionAlignment = HorizontalAlignment.Center; //设置文章标题的对齐格式
/* 在文章标题之后,插入文章正文 */
tmpRichTextBox.SelectionStart = tmpRichTextBox.Rtf.Length; //选中tempRtb的标题换行后新的行开头
tmpRichTextBox.SelectedRtf = contentRichTextBox.Rtf;//将正文的格式化文本插入到tmpRichTextBox被选中的地方

    这样,既保证了contentRichTextBox的内容没有改变,也实现了打印预览整篇文章的效果,且预览效果保留了contentRichTextBox的格式信息。
    注意:上面的示例代码中添加文本正文内容时,不能使用以下代码,否则预览效果中就不能保留正文的格式信息,因为这种方法插入的是不含格式信息的字符串。

tmpRichTextBox.Text = tmpRichTextBox.Text.insert( start , len )
tmpRichTextBox.AppendText(contentRichTextBox.Rtf.ToString())

4 RichTextBox的一点说明

    RichTextBox 控件的文本格式是 RTF 格式,RichTextBox能以 RFT 和普通 ASCII 文本格式这两种形式打开和保存文件。

 
关于种豆 ┊ 联系我们 ┊ 免责声明 ┊ 发帖须知 ┊ 请提意见 ┊ 站点地图
本站为个人爱好兴趣分享网站,不代表本人观点,如有侵权请联系QQ3033380280进行处理
sowsoy.com 版权所有 Copyright©2010-2021 备案号:蜀ICP备2020025376号-3
Email:sowsoy#hotmail.com