C#WinForms numericUpDown控件(删除旋转框)

kre*_*tar 10 c# winforms

经过大量的谷歌搜索,我无法想出任何东西..

有没有办法得到一个没有旋转框的numericUpDown控件?

我需要一个只接受整数的文本框,并且numericUpDown具有我正在寻找的完美行为.但是,我需要为空间限制隐藏数字旋转框.

当我尝试执行类似numericUpDown.Controls [0] .Hide()或numericUpDown.Controls.RemoveAt(0)之类的操作时,旋转框会消失,但会留下一个不可用的空格,而旋转框曾经是这样.因此数字在那一点滚动,意味着空间浪费了..

还有其他解决方案吗?

谢谢..

Ale*_*Aza 11

您可以从NumericUpDown继承.诀窍是在创建控件时隐藏控件.

public class NumericUpDownWitoutButtons : NumericUpDown
{
    public NumericUpDownWitoutButtons()
    {
        Controls[0].Visible = false;
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        e.Graphics.Clear(SystemColors.Window);
        base.OnPaint(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果按钮的位置应该看起来很奇怪,也可以覆盖OnPaint.

此外,您可能不需要NumericUpDown.是否足以验证只能输入数字?C#Numbers Only文本框