【问题标题】:VS2010 Winforms Usercontrol changes not showing in parent formVS2010 Winforms Usercontrol 更改未显示在父窗体中
【发布时间】:2011-04-15 03:03:18
【问题描述】:

我创建了一系列用户控件。将其中一个控件拖到主窗体。显示OK。返回并更改了用户控件的设计。重建项目。清洁的项目。手动删除所有项目二进制文件,包括 obj 文件夹。更改仍然不会显示在主窗体上托管的用户控件上。从工具箱中拖动控件的新实例只会显示旧版本的控件。
从工具箱中完全删除控件并再次添加它们可以解决问题,但我肯定不必每次进行更改时都这样做吗?所有用户控件都与主窗体在同一个程序集中。工具>选项>Windows 窗体设计器>自动工具箱填充设置为 true。任何想法最受赞赏。谢谢

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。阻止我把它塞得更多。
    • 如果有人正在寻找这个选项,只需使用:只需转到工具 -> 选项 -> Windows 窗体设计器并将 AutoToolboxPopulate 设置为 true
    • 该死,很遗憾,即使 Auto toolbox populate 已打开,用户控件也没有更新。
    【解决方案2】:

    我同意答案 1,这是应该发生的事情,而且经常发生。但它并不总是有效,有时会部分有效。

    例如我目前的解决方案。

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

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

    前 2 个视图(用户控件)UltFilesView 和 UltSlideShow 照常出现在工具栏上,因此我可以将它们拖到 ToolsTester 上进行试用。

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

    我遇到过几次这个问题,有时删除并重新声明参考可以解决它。其他时候我必须删除测试项目并创建一个新项目。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多