我有一堆UserControl
,在它们的顶部有一个面板和一些其他控件。我想做的是更改该面板的背景颜色。
如果我从设计器中设置颜色,则颜色会正确显示。
如果我通过代码设置它,它不会改变。
在这一点上,我设置了面板的背景色,我还设置了其父边框颜色,该边框会正确更改。
更改颜色后,我尝试在面板上Update
并Invalidate
,但没有任何反应。面板的容器具有焦点,不知道是否有帮助。
是什么阻止了面板改变其颜色?
Color highlightedColor = Color.Blue;
panelControl.BorderColor = highlightedColor;
indicatorPanel.BackColor = highlightedColor;
虽然我使用DevExpress,但我也尝试过使用winforms的面板。相同的行为。
编辑
还有更多我无法改变的。刚刚尝试了标签的背景色。从设计器更改从代码没有。
代码在Enter
事件上运行
编辑2
问题依赖于我调用代码的事件。我尝试使用按钮,它可以工作。所以在事件上做事时一定有问题Enter
。
解决方案是在UserControl
本身上调用Update
,而不是在我正在更改其颜色的容器上调用。