无法更改 Panel.BackColor on Enter 事件



我有一堆UserControl,在它们的顶部有一个面板和一些其他控件。我想做的是更改该面板的背景颜色。

如果我从设计器中设置颜色,则颜色会正确显示。

如果我通过代码设置它,它不会改变。

在这一点上,我设置了

面板的背景色,我还设置了其父边框颜色,该边框会正确更改。

更改颜色后,我尝试在面板上UpdateInvalidate,但没有任何反应。面板的容器具有焦点,不知道是否有帮助。

是什么阻止了面板改变其颜色?

Color highlightedColor = Color.Blue;
panelControl.BorderColor = highlightedColor;
indicatorPanel.BackColor = highlightedColor;

虽然我使用DevExpress,但我也尝试过使用winforms的面板。相同的行为。

编辑

还有更多我无法改变的。刚刚尝试了标签的背景色。从设计器更改从代码没有。

代码在Enter事件上运行

编辑2

问题依赖于我调用代码的事件。我尝试使用按钮,它可以工作。所以在事件上做事时一定有问题Enter

解决方案是在UserControl本身上调用Update,而不是在我正在更改其颜色的容器上调用。

最新更新