【发布时间】:2016-01-07 04:47:10
【问题描述】:
我创建了一个控件并将其编译成一个 DLL:
namespace TSControlLibrary
{
public partial class BaseMaskedTextBox : MaskedTextBox
{
public BaseMaskedTextBox()
{
InitializeComponent();
this.BackColor = Color.Pink;
}
}
}
然后我创建了另一个测试项目并想在它上面使用这个新的 MaskedTextBox...
这很有效,
1 - 我在 Test.dll 中添加了对 DLL 的引用。并保留默认属性。复制本地 = True,特定版本 = False
2 - 我将 DLL 添加到显示 BaseMaskedTextBox 的工具箱中。
现在我可以在我的 winform 中添加一个新的蒙面对象。 :-)
但是!!!但是,当我想将原始 DLL 从 Color.Pink 更改为 Color.Blue 时,它将允许我在 Blue 的表单上添加一个新的 MaskedTextBox。但粉色还是粉色。
我想做的是更改 DLL 颜色,重新编译它,新的测试项目将具有新颜色。我该怎么做?
VS2012,winforms,呵呵。
【问题讨论】:
-
您是否考虑过在控件上公开背景属性?无需重新编译。
-
颜色变化只是为了让我可以看到它改变了控件,我计划改变其他一些东西,当我完成时可能永远不会改变颜色......字体大小,方法,验证。 ..
-
你试过增加
AssemblyVersion的数字吗? -
原来 DLL 正在更新并实际设置颜色,但 Test.Designer.cs 只是将其重置回来。所以它不是 DLL ...... :-) 设计师也会在进入设计模式之前设置颜色(和其他一些东西) - 所以这可能有点傻。知道在设计器加载之后和在设计器屏幕上显示之前触发的任何事件吗?
-
locationChanged 事件在正确的时间触发...