VS2010 Winforms Usercontrol更改未以父表单显示

时间:2010-09-21 10:10:26

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

我创建了一系列用户控件。将其中一个控件拖动到主窗体。它显示OK。退回并改变了用户控件的设计。重建项目。清理项目。手动删除所有项目二进制文件,包括obj文件夹。更改仍未显示在主窗体上托管的usercontrol上。从工具框中拖动控件的新实例仅显示控件的旧版本 从工具箱中完全删除控件并再次添加它们修复了问题,但是每次我做出更改时我都不必这样做吗?所有用户控件都与主窗体位于同一个程序集中。工具>选项> Windows窗体设计器>自动工具箱Populate设置为true。任何想法最受赞赏。 THX

2 个答案:

答案 0 :(得分:4)

自己将控件添加到工具箱中。这会将程序集的副本放在私有目录中。是的,此副本不会自动更新,您将获得旧控件。

依靠“自动工具箱填充”设置。它会自动将您加载的项目中的所有控件添加到工具箱中。添加的控件位于工具箱的顶部。

答案 1 :(得分:0)

我同意答案1那是应该发生的事情,而且往往是这样。但它并不总是有效,有时会部分起作用。

例如我当前的解决方案。

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

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

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

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

我曾经遇到过这个问题几次,有时删除并重新声明引用修复它。其他时候我必须删除测试项目并创建一个新项目。

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

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