VS2010 Winforms用户控件在父窗体中未显示更改

4
我创建了一系列用户控件。将其中一个控件拖到主窗体中,它显示正常。然后返回并更改了用户控件的设计。重新构建项目,清理项目,手动删除所有项目二进制文件,包括obj文件夹。但在主窗体上托管的用户控件上仍未显示出更改内容。从工具箱中拖出新实例的控件仅显示旧版本的控件。
完全从工具箱中移除并重新添加控件解决了问题,但我肯定不必每次都这样做吧?所有用户控件都在与主窗体相同的程序集中。 工具>选项>Windows窗体设计器>自动工具箱填充设置为true。非常感谢任何想法。 谢谢
2个回答

5

不要自己将控件添加到工具箱中。这会将程序集复制到私有目录中。是的,这个副本不会自动更新,因此你得到的是旧的控件。

依赖于“自动填充工具箱”设置。它自动将已加载项目中的任何控件添加到工具箱中。添加的控件在工具箱顶部。


谢谢。阻止我把它搞得更糟。 - Matt
如果有人正在寻找此选项,请使用以下方法:转到“工具”->“选项”->“Windows窗体设计器”,并将“AutoToolboxPopulate”设置为true。 - bcsanches
糟糕,不幸的是,即使“自动工具箱填充”已经打开,用户控件仍然没有更新。 - The Muffin Man

0

我同意答案1的观点,这是应该发生的事情,而且通常会发生。但它并不总是有效,并且有时只能部分地工作。

例如,我的当前解决方案。

项目1命名空间ToolsTester-这只是一个临时表单,用于测试第二个项目中的视图工具。

项目2命名空间UltimateFileFinder-这有三个视图。

前两个视图(用户控件)UltFilesView和UltSlideShow像往常一样出现在工具栏上,所以我可以将它们拖到ToolsTester上尝试一下。

然后我添加了另一个用户控件UltPanel,它无法进入工具箱。虽然它没有错误编译。

我遇到过这个问题几次,有时删除和重新插入引用可以修复它。其他时候,我需要删除测试项目并创建一个新项目。

我在发布之前测试了Visual Studio(完整版本),这是我反馈的领域之一,因此问题在发布之前就已知道了。

我现在正在进行的这个项目,我知道我需要删除测试项目并创建一个新的项目,在这种情况下,测试人员只是一些简单的调用者和事件响应者,但并不总是如此。有时候测试项目可能会非常复杂,因为它要模拟工具将成为一部分的目标。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接