嗨我对NumericUpDown
控件有一个奇怪的重绘问题。如果我在同一位置有另一个控件,并将其Visible
属性设置为false
,并将Visible
的{{1}}属性设置为NumericUpDown
true
如果没有边框,则其他控件的某些部分在后台显示(即使其NumericUpDown
属性为Visible
)。即使拨打false
的{{1}}或父容器也不会改变任何内容。如果背景中的控件是Refresh
NumericUpDown
正确显示,但我认为这是因为边框相等,因此它看起来只是正确绘制。< / p>
这是TextBox
控件的错误吗?我该如何解决?
感谢您的帮助。
编辑:这是截图。我只是更改了NumericUpDown
的{{1}}和NumericUpDown
属性ComboBox
的可见属性。
答案 0 :(得分:1)
private void button1_Click_1(object sender, EventArgs e)
{
Panel p = new Panel();
p.Location = new Point(10, 10);
p.Height = 200;
p.Width = 200;
p.BorderStyle = BorderStyle.Fixed3D;
Controls.Add(p);
NumericUpDown nud = new NumericUpDown();
nud.Location = new Point(150, 150);
nud.Height = 100;
nud.Width = 100;
Controls.Add(nud);
nud.BringToFront();
}
为您的代码添加:
numericUpDown1.BringToFront();
问题是因为您已经在面板中添加了一个numericUpdown,但它并没有完全位于面板内部,您必须将它带到前面才能看到完整的数字下拉视图。
即使没有代码,你也可以这样做。就像照片一样。
如果你得到答案,请告诉我。
答案 1 :(得分:1)
我终于找到了问题。我使用了CodeProject的叠加控件,它允许我在整个表单上绘制基元。尽管我很少使用它,但它仍然会改变绘制儿童控件的方式。虽然其他控件工作正常,NumericUpDown
似乎有一些问题。
将来可能有人会遇到同样的问题。因此,这里是我使用的CodeProject项目的链接:http://www.codeproject.com/Articles/26071/Draw-Over-WinForms-Controls。