【发布时间】:2012-01-16 14:58:35
【问题描述】:
您好,我正在使用 devexpress,我将掩码类型设置为数字,将编辑掩码设置为“p”。 问题是我想将蒙面文本框限制为最大 100% 并且不接受 否定的。
最好的问候,
【问题讨论】:
-
什么 DevEx 库?窗体? ASP.NET?
标签: .net winforms devexpress
您好,我正在使用 devexpress,我将掩码类型设置为数字,将编辑掩码设置为“p”。 问题是我想将蒙面文本框限制为最大 100% 并且不接受 否定的。
最好的问候,
【问题讨论】:
标签: .net winforms devexpress
您不应尝试使用 EditMask 设置最小值/最大值。 'p' EditMask 正确地将条目限制为有效百分比字符串,但 123 % 或 -17.5 % 是有效百分比。
相反,您应该通过实现EditValueChanging event 来限制接受的值(如果您想拒绝用户的输入,您可以设置Cancel)。此外,许多 DevExpress 编辑器都有 MaxValue 和 MinValue 属性,such as SpinEdit。
编辑以包含示例代码
void spinEdit1_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
Decimal newValue;
if (Decimal.TryParse(e.NewValue.ToString(), out newValue))
{
if (newValue < 0 || newValue > 100)
e.Cancel = true;
}
}
【讨论】:
我建议你使用SpinEdit 控件,它是MinValue/MaxValue 属性:
spinEdit.Properties.Mask.EditMask = "P"; // EditValue from 0 to 100 as percent
spinEdit.Properties.Mask.UseMaskAsDisplayFormat = true;
spinEdit.Properties.MinValue = 0.0M;
spinEdit.Properties.MaxValue = 100.0M;
相关帮助文章:Mask Type: Numeric
【讨论】: