2012-01-16 289 views

回答

3

你不应该试图设置最小/ 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; 
     } 
    } 
+0

你能给我一个例子如何使用取消.. – 2012-01-16 15:37:22

+0

我编辑我的答案,包括示例代码。 – shamp00 2012-01-16 16:34:39

0

我建议你使用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