C# RichTextBox富文本输入控件

摘要


Windows 多格式文本框控件。

RichTextBox使用控件,用户可以输入和编辑文本。 该控件还提供比标准 TextBox 控件更高级的格式设置功能。 可以将文本直接分配给控件,也可以从 RTF) 或纯文本文件 (RTF 格式加载。 控件中的文本可以分配字符和段落格式,它可以实现显示字体、颜色、链接、从文件加载文本及嵌入的图像、撤消和重复编辑操作以及查找指定的字符等功能。

正文


属性

AllowDrop 获取或设置一个值,该值指示控件是否允许拖放操作。
Anchor 获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小。 (继承自 Control)
AutoScrollOffset 获取或设置一个值,该值指示在 ScrollControlIntoView(Control) 中将控件滚动到何处。 (继承自 Control)
AutoSize 此属性与此类无关。
AutoWordSelection 获取或设置一个值,通过该值指示是否启用自动选择字词。
BackColor 获取或设置控件的背景色。 (继承自 TextBoxBase)
BackgroundImage 此属性与此类无关。
BackgroundImageLayout 此属性与此类无关。
BindingContext 获取或设置控件的 BindingContext。 (继承自 Control)
BorderStyle 获取或设置文本框控件的边框类型。 (继承自 TextBoxBase)
Bottom 获取控件上边缘与其容器工作区的上边缘之间的距离(以像素为单位)。 (继承自 Control)
Bounds 获取或设置控件(包括其非工作区元素)相对于其父控件的大小和位置(以像素为单位)。 (继承自 Control)
BulletIndent 获取或设置对文本应用项目符号样式时,RichTextBox 控件中使用的缩进。
CanFocus 获取一个值,该值指示控件是否可以接收焦点。 (继承自 Control)
CanRedo 获取一个值,通过该值指示在 RichTextBox 内发生的操作中是否有可以重新应用的操作。
CanSelect 获取一个值,该值指示是否可以选中控件。 (继承自 Control)
CanUndo 获取一个值,该值指示用户在文本框控件中能否撤消前一操作。 (继承自 TextBoxBase)
DetectUrls 获取或设置一个值,通过该值指示当在控件中键入某个统一资源定位器 (URL) 时,RichTextBox 是否自动设置 URL 的格式。
DeviceDpi 获取显示当前控件的显示设备的 DPI 值。 (继承自 Control)
DisplayRectangle 获取表示控件的显示区域的矩形。 (继承自 Control)
Disposing 获取一个值,该值指示 Control 基类是否在释放进程中。 (继承自 Control)
Dock 获取或设置哪些控件边框停靠到其父控件并确定控件如何随其父级一起调整大小。 (继承自 Control)
DoubleBuffered 获取或设置一个值,该值指示是否在显示控件前在缓冲区中完成控件绘制。 此属性与此类无关。 (继承自 TextBoxBase)
EnableAutoDragDrop 获取或设置一个值,该值在文本、图片和其他数据上启用拖放操作。
Enabled 获取或设置一个值,该值指示控件是否可以对用户交互作出响应。 (继承自 Control)
Events 获取附加到此 Component 的事件处理程序的列表。 (继承自 Component)
Focused 获取一个值,该值指示控件是否有输入焦点。 (继承自 Control)
Font 获取或设置控件显示的文字的字体。
FontHeight 获取或设置控件的字体的高度。 (继承自 Control)
ForeColor 获取或设置控件的前景色。
HideSelection 获取或设置一个值,该值指示当文本框控件没有焦点时,该控件中选定的文本是否保持突出显示。 (继承自 TextBoxBase)
Lines 获取或设置文本框控件中的文本行。 (继承自 TextBoxBase)
Location 获取或设置该控件的左上角相对于其容器的左上角的坐标。 (继承自 Control)
Margin 获取或设置控件之间的空间。 (继承自 Control)
MaximumSize 获取或设置大小,该大小是 GetPreferredSize(Size) 可以指定的上限。 (继承自 Control)
MaxLength 获取或设置用户可在多格式文本框控件中键入或粘贴的最大字符数。
MinimumSize 获取或设置大小,该大小是 GetPreferredSize(Size) 可以指定的下限。 (继承自 Control)
Modified 获取或设置一个值,该值指示自创建文本框控件或上次设置该控件的内容后,用户修改了该控件。 (继承自 TextBoxBase)
Multiline 获取或设置一个值,该值指示这是否为多行 RichTextBox 控件。
Name 获取或设置控件的名称。 (继承自 Control)
Padding 此属性与此类无关。 (继承自 TextBoxBase)
RedoActionName 获取当调用 Redo() 方法后,可以重新应用到控件的操作名称。
Right 获取控件右边缘与其容器的工作区左边缘之间的距离(以像素为单位)。 (继承自 Control)
RightMargin 获取或设置 RichTextBox 控件内单个文本行的大小。
RightToLeft 获取或设置一个值,该值指示是否将控件的元素对齐以支持使用从右向左的字体的区域设置。 (继承自 Control)
Rtf 获取或设置 RichTextBox 控件的文本,包括所有 RTF 格式代码。
ScaleChildren 获取一个值,该值确定子控件的缩放。 (继承自 Control)
ScrollBars 获取或设置 RichTextBox 控件中显示的滚动条类型。
SelectedRtf 获取或设置控件中当前选择的 RTF 格式的格式化文本。
SelectedText 获取或设置 RichTextBox 内的选定文本。
SelectionAlignment 获取或设置应用到当前选定内容或插入点的对齐方式。
SelectionBackColor 获取或设置在 RichTextBox 控件中选中文本时文本的颜色。
SelectionBullet 获取或设置一个值,通过该值指示项目符号样式是否应用到当前选定内容或插入点。
SelectionCharOffset 获取或设置控件中的文本是显示在基线上、作为上标还是作为基线下方的下标。
SelectionColor 获取或设置当前选定文本或插入点的文本颜色。
SelectionFont 获取或设置当前选定文本或插入点的字体。
SelectionHangingIndent 获取或设置选定段落中第一行文本的左边缘和同一段落中后面各行的左边缘之间的距离。
SelectionIndent 获取或设置所选内容开始行的缩进距离(以像素为单位)。
SelectionLength 获取或设置控件中选定的字符数。
SelectionProtected 获取或设置一个值,通过该值指示是否保护当前选定文本。
SelectionRightIndent RichTextBox 控件右边缘与选中文本或在当前插入点添加的文本的右边缘之间的距离(以像素为单位)。
SelectionStart 获取或设置文本框中选定的文本起始点。 (继承自 TextBoxBase)
SelectionTabs 获取或设置 RichTextBox 控件中的绝对制表位位置。
SelectionType 获取控件内的选定内容类型。
ShortcutsEnabled 获取或设置一个值,该值指示是否启用已定义的快捷方式。 (继承自 TextBoxBase)
ShowFocusCues 获取一个值,该值指示控件是否应显示聚焦框。 (继承自 Control)
ShowKeyboardCues 获取一个值,该值指示用户界面是否处于适当的状态以显示或隐藏键盘快捷键。 (继承自 Control)
ShowSelectionMargin 获取或设置一个值,通过该值指示 RichTextBox 中是否显示选定内容的边距。
TabIndex 获取或设置控件在其容器内的 Tab 键顺序。 (继承自 Control)
TabStop 获取或设置一个值,该值指示用户能否使用 Tab 键将焦点放到该控件上。 (继承自 Control)
Tag 获取或设置包含有关控件的数据的对象。 (继承自 Control)
Text 获取或设置多格式文本框中的当前文本。
TextLength 获取控件中文本的长度。
Top 获取或设置控件上边缘与其容器的工作区上边缘之间的距离(以像素为单位)。 (继承自 Control)
TopLevelControl 获取没有另一个 Windows 窗体控件作为其父级的父控件。 通常,这是控件所在的最外面的 Form。 (继承自 Control)
UndoActionName 获取调用 Undo() 方法后在控件中可撤消的操作名称。
UseWaitCursor 获取或设置一个值,该值指示是否将等待光标用于当前控件以及所有子控件。 (继承自 Control)
Visible 获取或设置一个值,该值指示是否显示该控件及其所有子控件。 (继承自 Control)
Width 获取或设置控件的宽度。 (继承自 Control)
WindowTarget 此属性与此类无关。 (继承自 Control)
WordWrap 指示多行文本框控件在必要时是否自动换行到下一行的开始。 (继承自 TextBoxBase)
ZoomFactor 获取或设置 RichTextBox 的当前缩放级别。

设置滚动条

ScrollBars 设置为ForcedVertical

Both 3 在需要时同时显示水平滚动条和垂直滚动条。
ForcedBoth 19 始终同时显示水平滚动条和垂直滚动条。
ForcedHorizontal 17 始终显示水平滚动条。
ForcedVertical 18 始终显示垂直滚动条。
Horizontal 1 仅在文本比控件的宽度长时显示水平滚动条。
None 0 不显示滚动条。
Vertical 2 仅在文本比控件的高度长时显示垂直滚动条。
image.png

ScrollBars设置为Both

WordWrap为false时,即使文本超过RichTextBox的宽度,也不会自动换行到下一行,只有用户输入回车时才会换行,并且当文本超过RichTextBox的宽度后,才会显示水平滚动条。

image.png

设置字体属性

RichTextBox的Font属性和ForeColor属性设置,也可通过代码实现,如文本字体设置为楷体,字体大小为12,字样是粗体,文本颜色为红色。

image.png
private void btnSetFont_Click(object sender, EventArgs e)
{
    txtMsg.SelectionFont = new Font("楷体", 12, FontStyle.Bold);  //设置SelectionFont属性实现控件中的文本为楷体,大小为12,字样是粗体
    txtMsg.SelectionColor = System.Drawing.Color.Red;    //设置SelectionColor属性实现控件中的文本颜色为红色
}

设置超链接样式

以“http://”开头的Web链接地址作为超链接文本时,运行时RichTextBox超链接文本会自动变成蓝色字体且有下划线。

image.png

添加一个点击link事件

image.png

添加LinkClicked事件

private void txtMsg_LinkClicked(object sender, LinkClickedEventArgs e)
{
    MessageBox.Show(e.LinkText);
}

SelectionBullet

设置SelectionBullet属性将选定的段落设置为项目符号列表的格式,也可以使用SelectionIndent属性和SelectionHangingIndent属性设置段落相对于控件的左右边缘进行缩进。下面用代码将控件的SelectionBullet属性设置为true,使控件中的内容以项目符号列表的格式排列。

image.png
private void btnSetBullet_Click(object sender, EventArgs e)
{
    txtMsg.SelectionBullet = true;
}

SelectionIndent

SelectionIndent属性设置一个整数,该整数表示控件的左边缘和文本的左边缘之间的距离(以像素为单位)。通过SelectionRightIndent属性设置一个整数,该整数表示控件的右边缘与文本的右边缘之间的距离(以像素为单位)。

image.png
private void btnSetIndent_Click(object sender, EventArgs e)
{
    txtMsg.SelectionIndent = 50;
}

载入Rft文件

image.png
private void btnLoadFile_Click(object sender, EventArgs e)
{

    txtMsg.LoadFile("./a.rtf");
    txtMsg.Find("基尔斯", RichTextBoxFinds.MatchCase);

    txtMsg.SelectionFont = new Font("Verdana", 12, FontStyle.Bold);
    txtMsg.SelectionColor = Color.Red;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容

  • 摘要 label控件是vs各个版本中最简单的控件,是system.windows.forms.label类提供的控...
    技术老小子阅读 186评论 0 0
  • 摘要 TextBox:控件,又称为文本框控件,它主要用于获取用户输入的数据或者显示文本,它通常用于可编辑文本,也可...
    技术老小子阅读 21评论 0 0
  • 摘要 单选按钮控件(RadioButton控件)是一种非常常见的控件类型。它可以用来展示用户在某个问题或场景中可以...
    技术老小子阅读 70评论 0 3
  • 摘要 使用 CheckBox[https://docs.microsoft.com/zh-cn/dotnet/ap...
    技术老小子阅读 14评论 0 0
  • 摘要 所谓控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。其中: 能输入文本的位...
    技术老小子阅读 246评论 0 0