【发布时间】:2012-10-23 07:20:09
【问题描述】:
我有一个实现IExtenderProvider 的组件。一个属性包含对于用户在其项目中使用的组件的每个实例都应该相同的设置。
(也可以在每个实例中编辑)
在设计时共享多个用户控件实例的信息的常用方法是什么?手动将其写入app.config 是没有解决方案的,因为我需要一个 GUI 来进行此设置。
提前致谢
Findnix
如果只是在设计时需要该属性,则提到的静态属性非常有用,但在我的情况下,在运行时也需要该属性。 在这种情况下,每个实例都将在其设计时设置的值设置为静态属性。这意味着该值取决于实例的初始化顺序。
例子:
在设计时:
将组件添加到表单1并将值设置为“Form1”
将组件添加到表单2并将值设置为“Form2”
现在这两个实例的设计器中的值都是“Form2”, 但是在运行时,如果两种形式都被加载,值总是那个 作为最后一个加载。
这是因为设计者没有改变实例的初始化值。
【问题讨论】:
-
您可以不将属性值存储在实例变量中,而是存储在静态变量中。这肯定有助于在实例之间共享相同的值。
标签: c# winforms visual-studio controls design-time