C#控件查询手册 王牌2 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 属性将始终
11
C#从入门到精通
检索按照掩码和 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(文本居中)都无效。
12
C#控件查询手册 王牌2
信息显示控件
Label 控件
显示用户无法直接编辑的文本。 表示标准 Windows 标签。
命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中) 语法
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] [ComVisibleAttribute(true)] public class Label : Control
备注
Label 控件通常用于提供控件的描述性文字。例如,可使用 Label 为 TextBox 控件添加描述性文字,以便将控件中所需的数据类型通知用户。Label 控件还可用于为 Form 添加描述性文字,以便为用户提供有帮助作用的信息。例如,可将 Label 添加到 Form 的顶部,为用户提供关于如何将数据输入窗体上的控件中的说明。Label 控件还可用于显示有关应用程序状态的运行时信息。例如,可将 Label 控件添加到窗体,以便在处理一列文件时显示每个文件的状态。
Label 参与窗体的 Tab 键顺序,但不接收焦点(Tab 键顺序中的下一个控件接收焦点)。例如,如果 UseMnemonic 属性设置为 true,并且在控件的 Text 属性中指定助记键字符(“and”符 (&) 之后的第一个字符),则当用户按下 Alt+ 助记键时,焦点移动到 Tab 键顺序中的下一个控件。该功能为窗体提供键盘导航。除了显示文本外,Label 控件还可使用 Image 属性显示图像,或使用 ImageIndex 和 ImageList 属性组合显示图像。
LinkLabel 控件
将文本显示为 Web 样式的链接,并在用户单击该特殊文本时触发事件。该文本通常是到另一个窗口或网站的链接。
表示可显示超链接的 Windows 标签控件。 命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
13
C#从入门到精通
语法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class LinkLabel : Label, IButtonControl
备注
ToolStripLabel 控件替换并向 Label 和 LinkLabel 控件添加功能。但是,Label 和 LinkLabel 控件均被保留下来,以实现向后兼容性和供以后使用(如果选用的话)。
LinkLabel 控件除了可显示超链接以外,它与 Label 控件类似。在控件的文本中可以指定多个超链接。每个超链接可在应用程序内执行不同的任务。例如,可使用超链接在 Microsoft Internet Explorer 中显示网站或加载与应用程序关联的日志文件。
在 LinkLabel 控件中显示的每个超链接都是 LinkLabel.Link 类的一个实例。LinkLabel.Link 类定义超链接的显示信息、状态和位置。另外,LinkLabel.Link 类的 LinkData 属性使您得以将信息(如要显示的 URL)与超链接关联。当用户单击控件内的超链接时,引发 LinkClicked 事件,表示所单击的超链接的 LinkLabel.Link 对象作为 LinkLabelLinkClickedEventArgs 对象(该对象作为参数传递)的一部分传递给事件处理程序。可以使用此对象获取与用户所单击的超链接关联的 LinkLabel.Link 对象。LinkLabel 控件内包含的所有超链接都存储在控件的 LinkLabel.LinkCollection 类实例中。
有两种方法可将超链接添加到 LinkLabel 控件中。最快捷的方法是指定 LinkArea,并将其分配给 LinkArea 属性。这使您得以在控件的文本内指定单个超链接。若要添加多个超链接,可使用 LinkLabel.LinkCollection 类的 Add 方法,用户可以通过 Links 属性访问该集合来使用此方法。
创建 LinkLabel 控件时,将向 LinkLabel.LinkCollection 添加包含 LinkLabel 控件内的全部文本的默认超链接。可以使用 LinkArea 属性指定新的链接区域来重写此默认链接;或者使用 LinkLabel.LinkCollection 的 Add 方法指定链接。也可使用 LinkLabel.LinkCollection 类的 Remove 方法来移除默认超链接。
LinkLabel 提供许多属性,这些属性使您得以定义控件中超链接的显示外观。ActiveLinkColor、DisabledLinkColor、LinkColor 和 VisitedLinkColor 属性定义在各种状态下显示超链接时所使用的颜色。LinkBehavior 属性定义与超链接关联的下划线的显示方式。
StatusStrip控件
通常在父窗体的底部使用有框架的区域显示有关应用程序的当前状态的信息。 表示 Windows 状态栏控件。 命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)
14
C#控件查询手册 王牌2 语法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class StatusStrip : ToolStrip
备注
虽然 StatusStrip 对以前版本的 StatusBar 控件进行替换和扩展,但是考虑到向后兼容性和将来的使用(如果您选择),仍然保留了 StatusBar。
StatusStrip 控件显示关于正在 Form 上查看的对象或该对象的组件的信息,或显示与该对象在应用程序中操作相关的上下文信息。通常 StatusStrip 控件由 ToolStripStatusLabel 对象组成,其中每个对象都显示文本和/或图标。StatusStrip 还可包含 ToolStripDropDownButton、ToolStripSplitButton 和 ToolStripProgressBar 控件。
默认的 StatusStrip 没有面板。若要将面板添加到 StatusStrip,请使用 ToolStripItemCollection.AddRange 方法,或使用 StatusStrip 项集合编辑器在设计时添加、移除或重新排序项并修改属性。使用 StatusStrip 任务对话框在设计时运行常用命令。
ProgressBar 控件
向用户显示操作的当前进度。 表示 Windows 进度栏控件。 命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中) 语法
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] public class ProgressBar : Control
备注
ProgressBar 控件以三种样式中的一种指示较长操作的进度: 从左向右分步递增的分段块。 从左向右填充的连续栏。
以字幕方式在 ProgressBar 中滚动的块。
Style 属性确定显示的 ProgressBar 的样式。注意,ProgressBar 控件只能是水平方向的。有
ProgressBar 控关如何创建垂直方向的 ProgressBar 的示例,请参见 ProgressBarRenderer 类。
件通常在应用程序执行诸如复制文件或打印文档等任务时使用。如果没有视觉提示,应用程序的用户可能会认为应用程序不响应。通过在应用程序中使用 ProgressBar,可以警告用户应用程序正在执行冗长的任务且应用程序仍在响应。
15