问下C#中,maskedtextbox限制金额输入
我的文本框初始是0.000把占位改成0
再用mask掩码设置成0.000
但是问题是 这样只能4.120
不能45111.120只能一位整数和3位小数,不知道有什么办法让小数点前面数字自由变化,并不影响.000格式 --------------------编程问答-------------------- 有人知道吗?急 --------------------编程问答-------------------- 只有这个了,楼主看看有用吗
MaskedTextBox控件
Mask属性:
0 数字,必选。此元素将接受 0 到 9 之间的任何一个数字。
9 数字或空间,可选。
# 数字或空间,可选。如果掩码中该位置为空白,在 Text 属性中将把它呈现为一个空格。允许使用加号 (+) 和减号 (-)。
L 字母,必选。将输入限定为 ASCII 字母 a-z 和 A-Z。此掩码元素等效于正则表达式中的 [a-zA-Z]。
? 字母,可选。输入限定为 ASCII 字母 a-z 和 A-Z。此掩码元素等效于正则表达式中的 [a-zA-Z]?。
& 字符,必选。如果 AsciiOnly 属性设置为 true,此元素的行为将与“L”元素类似。
C 字符,可选。任何非控制字符。如果 AsciiOnly 属性设置为 true,此元素的行为将类似于“?”元素。
A 字母数字,可选。如果将 AsciiOnly 属性设置为 true,则它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。
a 字母数字,可选。如果将 AsciiOnly 属性设置为 true,则它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。
. 小数点占位符。使用的实际显示字符将是适合于格式提供程序的小数点符号,格式提供程序由控件的 FormatProvider 属性决定。
, 千分位占位符。使用的实际显示字符将是相应于格式提供程序的千分位占位符,格式提供程序由控件的 FormatProvider 属性决定。
: 时间分隔符。使用的实际显示字符将是适合于格式提供程序的时间符号,格式提供程序由控件的 FormatProvider 属性决定。
/ 日期分隔符。使用的实际显示字符将是适合于格式提供程序的日期符号,格式提供程序由控件的 FormatProvider 属性决定。
$ 货币符号。显示的实际字符将是相应于格式提供程序的货币符号,格式提供程序由控件的 FormatProvider 属性决定。
< 转换为小写。将后续所有字符都转换为小写。
> 转换为大写。将后续所有字符都转换为大写。
| 禁用前一个大写转换或小写转换。
\ 转义。对掩码字符进行转义,将其转变为原义字符。“\\”是反斜杠的转义序列。
MaskedTextBox.ValidatingType = typeof(int);
MaskedTextBox.Mask = @"\C000";
MaskedTextBox.PromptChar = '0'; // 设置提示字符。
MaskedTextBox.HidePromptOnLeave = false; // 无焦点时,输入掩码中的提示字符仍保持显示。
MaskedTextBox.TextMaskFormat = MaskFormat.IncludePromptAndLiterals; // 返回用户输入的文本、掩码中定义的任意文本字符以及提示字符的任意实例。
private void MaskedTextBox_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
{
if (e.Position < MaskedTextBox.TextLength)
{
ToolTip toolTip = new ToolTip();
toolTip.IsBalloon = true; // 使用气球状窗口。
toolTip.ToolTipIcon = ToolTipIcon.Warning;
toolTip.ToolTipTitle = "系统提示";
toolTip.Show("请输入数字!", MaskedTextBox, 3000);
}
} --------------------编程问答-------------------- myMaskedTextBox1.Mask = "####.##";
或设置Mask 正则验证金额 @ "^[1-9][0-9]{0,10}[.][0-9]{1,2}$ ";
--------------------编程问答-------------------- 有没有代码呢。大家帮个忙
补充:.NET技术 , C#