当前位置:编程学习 > C#/ASP.NET >>

问下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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,