C# 中的另一个 MaskEditBox






3.67/5 (9投票s)
支持剪切、复制和粘贴的 C# MaskEditBox。
引言
这是为 Visual Studio .NET 2003 重现的 VB6 MaskEdBox(COM控件)。支持剪切、复制和粘贴,并允许您设置控件的Mask
和Text
属性。以下是支持的掩码字符列表:
普通掩码字符
. | 十进制 |
, | 逗号(或千位分隔符) |
: | 冒号 |
/ | 正斜杠 |
- | 减号 |
() | 左右括号 |
特殊掩码字符
> | 大于号(小写) |
< | 小于号(大写) |
\ | 反斜杠(字面量处理程序) |
您会注意到,在运行模式和设计模式下显示的掩码是相同的,就像 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日
修复了一个小错误,如果检查了OnKeyDown
或OnKeyPress
以设置按键事件,它们将无法响应,因为事件已被覆盖。