【问题标题】:DevExpress TextEdit - Mask for Negative ValuesDevExpress TextEdit - 负值掩码
【发布时间】:2013-06-09 19:16:02
【问题描述】:
实际上,我有一个 Devexpress TextEdit,我在该 TextEdit 中显示数量。
我已将 TextEdit 的掩码属性设置为:
- MaskType -> Numeric
- EditMask -> n2
- UseMaskAsDisplayFormat -> True
现在,我得到如下输出:
- For Postive Values -> 800.00
- For Negative Values -> 800.00-
但是,我想要一个负值的输出,例如 -800.00
谁能帮帮我?
【问题讨论】:
标签:
.net
regex
devexpress
【解决方案1】:
您设置:RightToLeft = true - 对吗?
请设置 RightToLeft = False & Properties.Appearence.TextOption = Far
=> 当你输入负值时 => -800.00
【解决方案2】:
n2 告诉TextEdit 显示带有两位小数的数值,但它没有说明要使用的CultureInfo。 (DevExpress 控件或与此相关的任何控件不对文化负责)。
如果您希望应用程序中的所有金额都使用特定的文化,请为每个线程设置它。你可以使用CultureInfo.InvariantCulture,或者选择一个类似new CultureInfo("fr-FR")的东西。
在 .NET 4.5 中,您可以使用 CultureInfo.DefaultThreadCurrentCulture 属性来更改 AppDomain 的区域性。见here。
在 .NET 4.5 之前的版本中,您必须为每个线程设置它。
CultureInfo ci = new CultureInfo(theCultureString);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;