我已将MaskedTextBox's
面具设置为:“Fl \ air H \ al ###。##,这里的内容:####。##”
当用户输入值时,最终文本如下所示:
Flair Hal 987.67,在这里:1234.12
从MaskedTextBox的Text中提取976.67和1234.12的最佳方法是什么。我正在寻找一个List,它将具有掩码的所有值(976.67,1234.12)。
掩码字符串中可以有任意数量的掩码,掩码可以是任何有效的掩码。
我想首先从Mask中删除'\',然后在for循环中继续比较Mask和Text并检测更改并将它们添加到List中。但这对我来说听起来并不好,我认为可能有更好的方法。
答案 0 :(得分:1)
您的示例中有四个掩码值:987,67,1234,12。块由a分隔的事实。被视为一个是你自己的逻辑,所以我认为你只需要编写代码来自己获取信息。
查看MaskedTextBox
及其MaskedTextProvider属性的EditPositions属性。 EditPositions
会为您提供用户可以输入的Text
内的位置。
答案 1 :(得分:1)
我发现没有好办法。正如adrianbanks所说,我必须自己编码来获取这些信息。
我编写了自己的usercontrol,它使用标签和maskedtexboxes的组合来获取输入。
我使用花括号来表示我在屏蔽文本框中的位置,而用户控件在每对花括号中放置一个蒙版文本框。 “Flair Hal {###。##},这里的内容:{####。##}”
然后我可以使用具有掩码值的值集合。
答案 2 :(得分:0)
我认为您将使用TextMaskFormat从.Text属性中删除文字和提示字符。这样你只能获得数字(和空格)。
答案 3 :(得分:0)
使用正则表达式。以下正则表达式适用于您的示例,但您可能需要根据实际掩码进行调整:
\ d * [。] \ d {2}