1

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

如果我从设计师那里设置颜色,颜色会正确显示。

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

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

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

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

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

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

编辑

还有很多我无法改变的。刚刚尝试了标签的背景色。来自设计器的代码更改不会。

代码在Enter事件上运行

编辑2

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

4

1 回答 1

1

解决方案是调用UpdateUserControl本身,而不是我正在改变颜色的容器。

于 2012-06-25T07:34:00.047 回答