【问题标题】:UserControl is not reflecting changes in Visual Studio 2010UserControl 未反映 Visual Studio 2010 中的更改
【发布时间】:2010-07-30 14:04:45
【问题描述】:

任何人在库中创建用户控件然后将其放入表单项目时都遇到了问题...更改此控件的例如BackColor 和重建,更改没有反映在 Form 项目中?

EDITED:更新控件时,例如更改控件,在控件中放置新控件,正在更新。看起来控件的背景颜色保持不变,或者只更改一次。

这太蹩脚了,我很累试图找出问题所在!

我使用的是 VS2010 Ultimate,Windows 7 x64。

我在删除控件时发现,在设计器初始化中添加了关于背景色的内容。如果我删除它,它会起作用。那有多糟糕?对我来说它看起来像一个错误?是吗?

您只能这样做一次!

【问题讨论】:

    标签: c# winforms visual-studio-2010 user-controls


    【解决方案1】:

    这是 VS2010 中的一个错误。

    当你在同一个项目中为设计器添加自定义控件时,VS会添加对项目本身的引用。

    将控件添加到同一项目中的设计器后,应删除此引用。

    【讨论】:

    • 抱歉,我没有看到任何自我参考。你的意思是在同一个解决方案中添加一个自定义控件,但来自不同的项目应该从控件的库中添加一个引用?如果是,这是正确的行为。如果您的意思是自我引用之类的东西,我看不到这样的东西,这是不可能发生的!!!编辑:根据您为我提供的网址,没有发生自我引用。
    • @gtas:此错误仅适用于窗体和控件在同一个项目中的情况。
    【解决方案2】:

    您在控件设计器中设置的 BackColor 属性和您在窗体设计器中设置的 BackColor 属性是相同的属性,控件设计器中的属性作为默认值。表单设计者明确设置,是的,所以如果你更改默认值,你需要重新设置它。

    您会发现,如果您重新添加控件,它将具有正确的背景颜色。

    要修复它,只需将表单中的属性更改为正确的颜色即可。

    【讨论】:

    • 是的,这是正确的解决方案。我想我也只是在等待在表单中反映控件的默认颜色。现在这种行为更加清楚了。
    【解决方案3】:

    如果两个项目在同一个解决方案中,请将引用更改为项目引用(添加引用,项目选项卡)并尝试重新构建整个解决方案。

    否则,按此顺序构建库和表单。

    【讨论】:

    • 这是一个项目参考...重建似乎更新了两个项目中的 bin 文件,但似乎这些更改没有反映在同一个控件库中,我无法得到任何其他解释。
    • @gtas:这是 VS2010 中的一个错误。将控件拖放到同一项目中的窗体上会添加对项目本身的引用。删除该引用。 stackoverflow.com/questions/3001380/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多