C#、winform - NumericUpDown 最大限制未在 KeyPress 上验证?

标签 c# winforms

使用 C# winform 应用程序的 NumericUpDown 控件。

将最大值设置为 99。但是当我键入大于 99 的值时,例如:555,它允许我键入(key_press 事件)值 555,并且只有当我离开控件时它才会变回最大值 (99)。我需要的是,不允许用户键入超过 99 的值。而且默认行为“向上和向下操作”值不应受此影响。我该怎么做呢?

最佳答案

只是一个快速的想法:

public class StrictNumericUpDown : NumericUpDown
{
    protected override void OnTextBoxTextChanged(object source, EventArgs e)
    {
        base.OnTextBoxTextChanged(source, e);
        if (Value > Maximum)
        {
            Value = Maximum;
        }
    }
}

关于C#、winform - NumericUpDown 最大限制未在 KeyPress 上验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727193/

相关文章:

winforms - Windows 窗体解析问题

c# - Visual Studio 解决方案中的 Markdown 文档

c# - 为什么 sp_executesql 不返回结果而直接 SP 调用返回结果?

c# - AuthorizationFilterAttribute 的 OnAuthorization 方法会在每次请求到达时执行吗?

c# - 在 C# Winform 中获取货币汇率

由于某种原因,WinForms 项目似乎依赖于 ASP.NET 运行时

c# - 在 Windows 窗体程序为 "processing"时显示微调器,类似于 ajaxStart/ajaxStop?

C#比较2个字符串,排序,放入数组

c# - 异步线程安全从 MemoryCache 获取

C#:重写 ProgressBar 上的 OnPaint 不起作用?