Previous topicNext topic
Help > 开发指南 > 窗体开发 > 控件参考 > 控件参考 > 通用成员 > C1TextBox > 属性 >
EditMask

当您设置EditMask属性为一个掩码字符串时,C1Input控件支持掩码输入。如果你定义了一个编辑掩码,在控件中每一个字符位置将映射到一个特殊的占位符或者文本字符。文本字符,或者说文本,可以对所使用的数据类型起到提示作用。例如,在一个电话号码的格式中,包围电话号码区号的圆括号以及短线就是文本字符:(412)-123-4567.编辑掩码阻止您输入无效字符,并提供了对用户界面的其它增强。

为了启用掩码输入,设置EditMask属性的值为一个由占位符和文本字符组成的掩码字符串,可用的占位符如下表所示:您也可以通过CustomPlaceholders集合定义您自己的占位符。

尽管在简单情况下设置EditMask就已经足够,同时还提供了一个包含一组用来控制掩码输入各种重要方面子属性的MaskInfo属性。其中一个就是上面所提到的CustomPlaceholders集合。其他一些属性为:

属性 描述
AutoTabWhenFilled 如果为True,当掩码填充满时,焦点将自动移动到下一个控件。默认值:False。
PromptChar 在空白输入位置显示的提示字符。默认值:'_'。
SaveBlanks 如果为True,则存储文本包含空白位置,使用StoredEmptyChar定义的值。默认值:False。
SaveLiterals 如果为True(默认值),存储的文本(StoredContent)将包含文本字符。
ShowLiterals 控制当用户输入时,文本字符出现方式的枚举设置。文本字符可以始终出现,从不出现,或者当用户输入位置到达某个文本字符时出现。
SkipOptional 如果为True(默认),可选地掩码位置可以被自动跳过,直至到达第一个允许该字符的输入位置。
StoredEmptyChar 存储在空白掩码位置的字符。默认值:'_'。

如果ShowLiterals属性设置为FreeFormatEntry,则可选掩码位置可以完全被忽略;不需要填充这些空白字符。

C1Input中使用的掩码字符(占位符)和Microsoft Access以及Microsoft ActiveX MaskEdit控件中使用的占位符类似(使用CustomPlaceholders集合可以定义更多的占位符):

占位符 描述
# 数字占位符表示该位置允许一位数字或加减号(是否输入为可选)。
. 小数点占位符。实际使用的字符是您的国际化设置所指定的小数点占位符。该字符作为掩码处理为文本字符。
, 千位分隔符。实际使用的字符是您的国际化设置所指定的千位分隔符。该字符作为掩码处理为文本字符。
: 时间分隔符。实际使用的字符是您的国际化设置所指定的时间分隔符。该字符作为掩码处理为文本字符。
/ 日期分隔符。实际使用的字符是您的国际化设置所指定的日期分隔符。该字符作为掩码处理为文本字符。
\ 转义符号,将掩码字符串中的下一个字符作为文本字符。这可以让您在掩码中包含#,&,A,…等字符。该字符作为掩码处理为文本字符。
& 字符占位符(必须输入)。允许输入任何字符。
> 将之后所有的字符转换为大写形式。
< 将之后所有的字符转换为小写形式。
~ 关闭之前的<或>设置。
! 使得跟随此编辑掩码的可选字符串从右向左显示,而不是默认的从左到右显示。所以,空格将出现在左侧。
^ 关闭之前的!字符的功能。在 ^字符位置之后,空白将出现在右侧。
A 字母数字字符占位符(必须输入)。例如:a – z,A – Z,或者 0 – 9。
a 字母数字字符占位符(可选输入)。
0 数字占位符(必须输入)。例如:0 – 9。
9 数字占位符(可选输入)。
C 字符或空格的占位符(可选输入)。允许任何字符输入。
L 字母占位符(必须输入)。例如:a – z 或者 A – Z。
? 字母占位符(可选输入)。
\n 新行文本字符。当Multiline属性设置为True时适用。
" 双引号括起的包含任意字符的字符串将被视为文本字符串。
Literal 所有的其它符号将作为文本字符显示,即,显示为自身。

示例


上面提到的电话号码,(412)123-4567可以由编辑掩码EditMask设置为(000)000-0000表示。