3

今天早上,我在 Visual Studio 的 Windows 窗体设计器中偶然发现了一个奇怪的问题。我有一个表格,现在已经工作了大约一个月,没有任何变化。在应用程序中看起来像这样:

表单外观的屏幕截图

(文本变得不可读,因为我不完全确定这里的法律含义)。

现在从今天开始,显然(我想我昨天在设计器中打开了表单没有问题)它在设计器中看起来像这样:

窗体在 Windows 窗体设计器中的外观屏幕截图

查看差异,每个控件(或几乎每个标签都没有受到影响,但可能与 AutoSize 有关)的宽度为 311 像素。在设计者弄乱文件后,下面的行在整个文件中很常见:

this.panel1.Size = new System.Drawing.Size(311, 24);

无论价值来自何处。此外,一个标签得到了有趣的文本"潐瑲⼠倠獯瑩潩㩮攀瑵慲ⱬ"(它的原始字节不再有意义)。

当我没有在设计器中打开表单时,没有任何不好的事情发生,项目甚至在文件未被触及的情况下构建,并且在运行程序时看起来很好。但是打开设计器会触发设计器生成的代码中的上述更改,并且这些更改在编译时会持续存在(显然)。

在同事的机器上,这根本不会发生(但他无法在不崩溃 VS 的情况下打开数据集,所以这里的两个设置可能有点奇怪......)。

我真的很想知道这里发生了什么。有任何想法吗?

ETA:一旦设计器开始调整大小,我就无法更改控件的大小。调整大小仅会导致一些视觉伪影,就好像控件调整大小一样,但在检查时仍为 311 px 宽度。

ETA 2:很奇怪:打开设计器(导致损坏,到目前为止还不错),然后使用 AnkhSVN 进行待定更改并恢复对文件的所有更改也会恢复损坏。表单看起来甚至应该在设计器中。直到我关闭并重新打开它。

4

5 回答 5

4

我找到了罪魁祸首。我最近安装了RockScroll。虽然我无法直接将该行为链接到 RockScroll,但我注意到某些表单的滚动条替换它绘制在它们上面。并且该表单上的控件无缘无故地更改了大小。

卸载 RockScroll 并解决了问题。无论如何,感谢您的所有输入。

于 2009-10-19T07:12:51.227 回答
1

您是否尝试过清理您的项目?(恐怕它不会解决任何问题,但这是一个值得尝试的简单步骤)


另外,你能清理你的 Visual Studio 缓存吗?在类似的情况下,它为我工作了无数次。

下面是一些关于 VS Cache Hell 的链接:1 2。如果您发现有关此的其他有用信息,请随时编辑我的帖子。

于 2009-10-13T11:57:55.410 回答
0

可以使用“制作相同宽度”工具在设计器中一键完成。

以我的经验,如果 Visual 在构建过程中被冻结,通常单击屏幕上的随机位置来测试 VS 是否已完成当前任务)

不过,只是一个想法。

于 2009-10-13T09:42:09.247 回答
0

也许您最近安装了另一个语言包(可能是韩语)。

于 2009-10-13T09:46:36.420 回答
0

您是否在表单的构造函数或 OnPaint 方法中进行一些手动布局或锚定?我曾经遇到过类似的问题,因为我试图手动修改某些元素的位置,而设计师在渲染时传递了一个无效的 ClientRectangle(或其他东西)。

于 2009-10-13T09:47:55.350 回答