C# 当窗体最小化时,数字上下箭头变为黑色

C# 当窗体最小化时,数字上下箭头变为黑色,c#,winforms,numericupdown,C#,Winforms,Numericupdown,我在表单中使用了numericupdown,但我不需要箭头,所以我在表单加载事件中隐藏它们,效果很好,但是当我最小化表单并再次将其最大化时,它们会变成黑色 private void Form1_Load(object sender, EventArgs e) { numericUpDownX.Controls[0].Visible = false; numericUpDownY.Controls[0].Visible = false

我在表单中使用了numericupdown,但我不需要箭头,所以我在表单加载事件中隐藏它们,效果很好,但是当我最小化表单并再次将其最大化时,它们会变成黑色

private void Form1_Load(object sender, EventArgs e)
        {
            numericUpDownX.Controls[0].Visible = false;
            numericUpDownY.Controls[0].Visible = false;
        }

通过谷歌搜索“numericupdown隐藏箭头”可以找到一些解决方法,但也许您不需要
numericupdown
,实际上需要一个修改的
TextBox
。UpDownEdit控件的大小在很多情况下都会重新计算(当然,它必须调整大小、重新定位、适应主题设置等)。私有方法处理这个问题。无论控件是否可见,都会从文本框的大小中减去UpDownButtons控件的边界。因此,隐藏按钮会使框未上漆,而文本框不会覆盖它。您必须自己重新创建
PositionControls()
方法。或者,如果足够,请用背景色清除NumericUpDown的图形,并使控件足够宽,以便文本框中显示的数字不会到达UpDownButtons控件的位置,并且您不会注意到缺少一块。