0

我有一个继承自 UserControl 的自定义控件 MyControl。

如果我更改 MyControl 图形属性(如 ForeColor、backgroundImage 等),这将应用于我的所有 MyControl 实例,但不是。

为什么?

编辑

我认为问题在于图像存储在包含 MyControl(例如表单)的 Control 的 resx 文件中。调用此行时,将应用旧图像。

resources.ApplyResources(this.myControl1, "myControl1");

因此,当我在 MyControl 设计器类中进行更改时,这不适用于 myControl1 实例。不幸的是,这条线是在表单设计器中自动生成的。

谢谢

4

2 回答 2

0

您应该在 MyControl 的构造函数或控件的设计器中进行设置(例如更改背景图像和内容),而不是 Form。

于 2012-10-12T13:57:06.747 回答
0

当然不是。当您将控件添加到表单时,它会获取属性并在 form.designer.cs 中添加代码,设置它们。在表单设计器中更改它们,这些更改会保留在 .designer.cs

如果您随后更改控件本身,要获取这些更改,您必须删除并再次添加它。

唯一的方法是让属性在设计器中不可配置。

于 2012-10-12T14:28:37.553 回答