文本编辑控件
TextBox 控件
显示设计时输入的文本,它可由用户在运行时编辑或以编程方式更改。 表示 Windows文本框控件。
命名空间:System.Windows.Forms 程序集:System.Windows.Forms(在 system.windows.forms.dll中) 语法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] [ComVisibleAttribute(true)] public class TextBox :TextBoxBase
备注
使用 TextBox 控件,用户可以在应用程序中输入文本。此控件具有标准 Windows 文本 框控件所没有的附加功能,包括多行编辑和密码字符屏蔽。
通常,TextBox 控件用于显示单行文本或将单行文本作为输入来接受。可以使用 Multiline 和 ScrollBars 属性, 从而能够显示或输入多行文本。通过将 AcceptsTab 和 AcceptsReturn 属性设置为 true,可在多行 TextBox控件中更加灵活地操作文本。
通过将 MaxLength 属性设置为一个特定的字符数,可以限制输入到 TextBox 控件中的 文本数量。TextBox 控件还可用于接受密码和其他敏感信息。可以使用 PasswordChar 属性 屏蔽在控件的单行版本中输入的字符。使用 CharacterCasing 属性可使用户在 TextBox 控件 中只能输入大写字符、只能输入小写字符,或者输入大小写字符的组合。
若要限制某些文本不被输入到 TextBox 控件,可以为 KeyDown 事件创建一个事件处 理程序,以便验证在控件中输入的每个字符。也可以通过将 ReadOnly 属性设置为 true 来 限制 TextBox控件中的所有数据项输入。
Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows CE 平台说明: 在 Pocket PC 应用程序中,单行文本框中的选项卡显示为括号,但当 Multiline 设置为 true 时正常显示。
RichTextBox 控件
使文本能够以纯文本或 RTF格式显示。
表示 Windows 多格式文本框控件。 命名空间:
System.Windows.Forms 程序集:System.Windows.Forms(在 system.windows.forms.dll中) 语法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class RichTextBox :TextBoxBase
备注
用户可以通过 RichTextBox 控件输入和编辑文本。该控件还提供比标准 TextBox 控件 更高级的格式设置功能。可以将文本直接分配给该控件,或者从 RTF 格式文件或纯文本文 件加载文本。可以为控件内的文本分配字符和段落格式设置。
RichTextBox 控件提供许多可对控件内任何文本部分应用格式设置的属性。若要更改文 本的格式设置,必须首先选定此文本。只能为选定的文本分配字符和段落格式设置。对选定 的文本内容进行设置后,在选定内容后输入的所有文本也用相同的设置进行格式设置,直到 更改设置或选定控件文档的不同部分为止。SelectionFont 属性使您得以将文本以粗体或斜体 显示。还可以使用此属性更改文本的大小和字样。SelectionColor 属性使您得以更改文本的 颜色。若要创建项目符号列表,可以使用 SelectionBullet 属性。还可以通过设置 SelectionIndent、SelectionRightIndent 和 SelectionHangingIndent属性调整段落格式设置。
RichTextBox 控件提供具有打开和保存文件的功能的方法。LoadFile 方法使您得以将现 有的 RTF 或 ASCII 文本文件加载到控件中。还可以从已打开的数据流加载数据。SaveFile 使您得以将文件保存到 RTF 或 ASCII 文本中。 与 LoadFile 方法相似,还可以使用 SaveFile 方法保存到开放式数据流。RichTextBox 控件还提供查找文本字符串的功能。Find 方法被重载,可以同时查找控件文本内的文本字符串以及特定字符。
也可以将 RichTextBox 控件初始化为内存中存储的数据。例如,可以将 Rtf 属性初始 化为包含要显示文本的字符串,包括确定如何设置该文本格式的 RTF代码。
如果控件内的文本包含链接(如到网站的链接),则可以使用 DetectUrls 属性适当地显 示控件文本中的链接。 然后可以处理 LinkClicked事件以执行与该链接关联的任务。 SelectionProtected 属性使您得以保护控件内的文本不被用户操作。当控件中有受保护的文本 时,可以处理 Protected 事件以确定用户何时曾试图修改受保护的文本,并提醒用户该文本 是受保护的,或向用户提供标准方式供其操作受保护的文本。
已使用 TextBox 控件的应用程序很容易就可以调整为使用 RichTextBox 控件。但是, RichTextBox 控件没有与 TextBox 控件相同的 64K 字符容量限制。与字处理应用程序(如 Microsoft Word)类似,RichTextBox通常用于提供文本操作和显示功能。
MaskedTextBox 控件
约束用户输入的格式 使用掩码区分正确和不正确的用户输入。 命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中) 语法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class MaskedTextBox :TextBoxBase
备注
MaskedTextBox 类是一个增强型的 TextBox 控件,它支持用于接受或拒绝用户输入的 声明性语法。通过使用 Mask属性,无需在应用程序中编写任何自定义验证逻辑,即可指定 下列输入:
必需的输入字符。 可选的输入字符。
掩码中的给定位置所需的输入类型;例如,只允许数字、只允许字母或者允许字母和数 字。
掩码的原义字符,或者应直接出现在 MaskedTextBox 中的字符;例如,电话号码中的 连字符(-),或者价格中的货币符号。
输入字符的特殊处理;例如,将字母字符转换为大写字母。
当 MaskedTextBox 控件在运行时显示时,会将掩码表示为一系列提示字符和可选的原 义字符。表示一个必需或可选输入的每个可编辑掩码位置都显示为单个提示字符。例如,数 字符号 (#) 通常用作数字字符输入的占位符。可以使用 PromptChar 属性来指定自定义提示 字符。HidePromptOnLeave属性决定当控件失去输入焦点时用户能否看到提示字符。
当用户在掩码文本框中键入内容时,有效的输入字符将按顺序替换其各自的提示字符。 如果用户键入无效的字符,将不会发生替换。在这种情况下,如果 BeepOnError 属性设置为 true,将发出警告声,并引发 MaskInputRejected 事件。可以通过处理此事件来提供您自己的 自定义错误处理逻辑。
如果当前插入点位于原义字符处,用户将有多种选择: 如果键入提示字符以外的字符,将自动跳过该原义字符,输入字符将应用于下一个提示 字符所表示的下一个可编辑位置。
如果键入提示字符,并且 AllowPromptAsInput 属性为 true,输入将覆盖提示字符,插 入点将移至掩码中的下一个位置。
始终可以使用箭头键来定位到上一个或下一个位置。
可以使用 MaskFull 属性来验证用户是否输入了所有必需的输入内容。Text属性将始终
检索按照掩码和 TextMaskFormat属性设置格式的用户输入。
实际上,MaskedTextBox 控件将所有掩码处理工作交给由 MaskedTextProvider 属性指 定的 System.ComponentModel.MaskedTextProvider 类来完成。此标准提供程序支持除代理项 和纵向组合字符以外的所有 Unicode 字符;但是,可以使用 AsciiOnly 属性将输入限定为 字符集 a-z、A-Z 和 0-9内的字符。
掩码不能保证用户输入一定会表示给定类型的有效值,例如,输入的年龄值可能为 -9。 通过将值的类型的实例赋给 ValidatingType 属性,可以确保用户输入表示一个有效值。通过 监视 TypeValidationCompleted 事件,可以检测当 MaskedTextBox 包含无效值时,用户是否 将焦点从该控件移开。如果键入验证成功,可以通过 TypeValidationEventArgs 参数的 ReturnValue属性使用表示该值的对象。
与 TextBox 控件一样,几个通用键盘快捷键不能用于 MaskedTextBox。尤其是Ctrl-R (右对齐文本)、Ctrl-L(左对齐文本)和Ctrl-E(文本居中)都无效。
相关推荐: