65.9K
CodeProject 正在变化。 阅读更多。
Home

C# 中的另一个 MaskEditBox

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.67/5 (9投票s)

2006年4月22日

CPOL

2分钟阅读

viewsIcon

54567

downloadIcon

390

支持剪切、复制和粘贴的 C# MaskEditBox。

Sample Image - MaskEditBox.jpg

引言

这是为 Visual Studio .NET 2003 重现的 VB6 MaskEdBox(COM控件)。支持剪切、复制和粘贴,并允许您设置控件的MaskText属性。以下是支持的掩码字符列表:

普通掩码字符

. 十进制
, 逗号(或千位分隔符)
: 冒号
/ 正斜杠
- 减号
() 左右括号

特殊掩码字符

> 大于号(小写)
< 小于号(大写)
\ 反斜杠(字面量处理程序)

您会注意到,在运行模式和设计模式下显示的掩码是相同的,就像 VB6 中实际在设计模式下显示掩码,而在运行时显示输入掩码一样。这个MaskEditBox只是显示输入掩码(一个小细节)。

注意

当用户将文本粘贴到MaskEditBox中时,如果剪贴板中有非法字符,这些字符将被删除。例如,剪贴板中的文本是“555ABC9874”,而Mask属性设置为 (###)###-####。那么,将显示的结果是“(555)___-8974”。当您设置控件的Text属性时,也会发生这种情况:MaskEditBox1.Text = "555ABC9874";

如果您喜欢这个控件,请评分。如有任何问题、意见或错误,请在下方发布。如果评分较低或对此控件没有评论,那么任何更新都不会在我的待办事项优先级列表中。所以请花时间评分或评论这个控件。如有需要,请随时通过电子邮件与我联系。

历史

更新:2006年4月23日

控件现在支持反斜杠字面量处理程序。还修复了一些小错误,由于掩码限制未正确实现,导致按下的键无法显示。

更新:2006年5月1日

添加了Format属性:现在您可以从 12 种不同的格式中选择,每种格式都与原始格式相同。此属性不允许自定义格式类型。所选和实现的格式必须在列表中。另外请注意,使用此控件的Format属性处理日期和时间的行为并不相同。微软是如何仅从数字 7 获得 06-Jan-00 的,我无法理解!

支持的格式

$#,##0.00;($#,##0.00) 货币格式
0 固定数字格式
#,##0 逗号格式
0% 百分比格式
0.00E+00 科学计数法格式
c 常规日期和时间格式
dddddd 长日期格式
dd-mmm-yy 中等日期格式
ddddd 短日期格式
ttttt 长时间格式
hh:mm AM/PM 中等时间格式
hh:mm 短时间格式

添加了ClippedText方法(与 VB6 中的ClipText相同)。

更新:2006年5月4日

修复了一个小错误,如果检查了OnKeyDownOnKeyPress以设置按键事件,它们将无法响应,因为事件已被覆盖。

© . All rights reserved.