【问题标题】:How to limit percent only to 100 using mask in devexpress?如何在 devexpress 中使用掩码将百分比限制为 100?
【发布时间】:2012-01-16 14:58:35
【问题描述】:

您好,我正在使用 devexpress,我将掩码类型设置为数字,将编辑掩码设置为“p”。 问题是我想将蒙面文本框限制为最大 100% 并且不接受 否定的。

最好的问候,

【问题讨论】:

  • 什么 DevEx 库?窗体? ASP.NET?

标签: .net winforms devexpress


【解决方案1】:

您不应尝试使用 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;
        }
    }

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 不错的主意 - 但将其设置为 0.0M 不起作用 - Dev Express 18.1.6。我将它设置为 0 到 100,但仍然没有运气,它仍然超过 100。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    相关资源
    最近更新 更多