![]()
RichTextBox 控件不仅准许输入和编辑文本,同时还可以指定文本文档。为了改变RichTextBox文本的文档,首先要确定它。只有确定的文本才能赋予符号和句子格式。使用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,则插入点所在的语句将在控件内居中。如果在第二个段落后创建了第三个段落richtextbox字体,它也与控件的中心对齐。
如果能够文件中的一切语句都居中,可以选择控件中的所有语句并将 SelectionAlignment 属性设置为 HorizontalAlignment.Center。
注意:当确定文本包括多个采用混合对齐方法的语句时,SelectionAlignment 将会回到 SelectionAlignment.Left。
以下是增设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);
如果我们在刊登短文时包括以上两部份内容:
1> 文章文章 - 单行文本框,但是可以增设文章的文档(字体蓝色等)
2> 文章正文 - RichTextBox

现在要求预览已经写好的标题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())
RichTextBox 控件的文本文档是RTF 格式,RichTextBox能以 RFT 和普通 ASCII 文本文档这两种方式打开和保存文档。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-119732-1.html
这个教授是跟他兄弟合娶的老婆吧