C#:WinForms中的奇怪渲染

时间:2010-12-17 01:00:51

标签: c# winforms label

alt text

由于某种原因,“Date From”和“Date To”的标签在底部边缘呈现奇怪的效果。看看由于这个原因,如何正确渲染日期选择器。

任何人都知道为什么会这样吗?它只发生在我从exectuable启动应用程序时。它不会发生在IDE中。

4 个答案:

答案 0 :(得分:4)

看起来Label控件的范围正在溢出到DateTimePicker控件中。即使WinForms控件具有透明背景,也不能保证与同一容器中的其他控件一起使用。尝试减少标签上的边距/填充或选择两个DateTimePicker控件并使用“带到前面”选项。

答案 1 :(得分:2)

它们的背景颜色与表格的背景颜色相匹配。

有多种方法可以解决这个问题:

  • 右键单击标签,然后选择“发送至后退”
  • 右键单击另一个控件并选择“置于最前面”
  • 确保标签的AutoSize属性设置为true并将其向上移动一点直到它不显示
  • 确保标签的Padding属性为0, 0, 0, 0(每个子属性为零)

答案 2 :(得分:1)

在使用鼠标操作控件时意外更改控件的大小和位置,这在VS中非常容易。您可能只需移动/重新调整它们的大小,使它们不重叠。尝试使用箭头键移动或明确给出数字位置和大小值。

答案 3 :(得分:0)

正如mickeyf所说,很容易意外移动或调整控件的大小。

为了降低发生这种情况的可能性,VS允许您锁定控件。如果您右键单击表单上的任意位置,然后选择“锁定控件”,则会锁定表单上的每个控件。我总觉得这太过戏了,很少使用它。

但是直到最近我才错过了什么,每个控件都有一个可以单独设置的“锁定”属性。我发现这更方便 - 你只需锁定往往有问题的控件。

例如,我有几个表单顶部有一个工具栏,另一个控件正好填充表单的其余部分。很容易意外地将这个控件撞到一个像素左右,而没有意识到。现在我只是锁定那些控件,这比锁定所有内容更方便。