6

我继承了一个项目,该项目以我无法撤消的方式进行了修改。窗体上的每个控件都不能在设计器中修改,除非通过“属性”窗口,并且每个控件在下面的区域(见图)中都有一个图标,该区域通常为不可见的项目(例如数据源)保留。如何撤消此操作并将设计器返回到可用版本,而无需将其全部清除并重新开始?

控制图标

4

4 回答 4

0

您必须加载包含无法在设计器中修改的控件的 dll。

步骤是:

  • 在 Visual Studio 设计器的工具箱中单击鼠标右键(例如在 General 上)。

  • 选择选择项目...

  • 一段时间后,vs加载项目按浏览并选择感兴趣的dll,而不是组件应该出现在网格中。对包含您感兴趣的控件的所有 dll 执行此操作。

    -确保您已检查组件(如果您加载了很多组件,请使用过滤器文本框)。

  • 按确定。

    现在您应该可以在设计器中移动控件了。

于 2014-02-21T11:15:12.760 回答
0

可以锁定控件吗?我遇到过遗留代码,其中程序员锁定了每个控件,这意味着您无法在设计器中移动或调整它们的大小。如果是这样,请将它们全部选中并将Locked属性更改为 false(如果它们被锁定,则当您选择它们​​时,您还应该在设计器中看到一个挂锁。

如果没有,那么也许您可以创建一个新的对话框/表单并将控件复制到其中,看看是否可以解决问题。另一个技巧可能是添加用户控件的第二个实例,以查看新添加的控件是否按预期工作。如果是这样,请检查代码并将所有事件/逻辑指向新控件(乏味是的,但可能会起作用)。

此外,您永远不能在设计器中为您实例化用户控件的表单/控件编辑用户控件的各个子控件。您必须转到用户控件的设计器来编辑用户控件的各个(子)控件。

在此处输入图像描述

在此处输入图像描述

于 2013-01-15T18:45:13.410 回答
0

如果 Infragistics 控件显示在组件托盘中,则可能存在版本差异。您可以尝试打开 licenses.licx 文件并从中删除内容。您的机器上是否安装了 Infragistics 控件?将 Infragistics 程序集的“特定版本”属性设置为“false”后有什么不同吗?

这是否仅在您现有的项目中发生,或者相同的行为在新项目中也可以重现?

于 2013-01-16T10:07:09.003 回答
0

当用户控件或表单被错误地标记为“组件”时,我也看到了这种行为。

对 .csproj 文件进行一些手动破解可能就是答案。在文本编辑器中打开项目文件,并找到对您的控件的引用。如果您发现一个子类型定义为:

<Compile Include="MyControl.cs">
  <SubType>Component</SubType>
</Compile>

表单设计者会这样解释它。您可以将“SubType”更改为“UserControl”来修复它。

于 2017-05-15T10:10:39.277 回答