今天早上,我在 Visual Studio 的 Windows 窗体设计器中偶然发现了一个奇怪的问题。我有一个表格,现在已经工作了大约一个月,没有任何变化。在应用程序中看起来像这样:
(文本变得不可读,因为我不完全确定这里的法律含义)。
现在从今天开始,显然(我想我昨天在设计器中打开了表单没有问题)它在设计器中看起来像这样:
查看差异,每个控件(或几乎每个标签都没有受到影响,但可能与 AutoSize 有关)的宽度为 311 像素。在设计者弄乱文件后,下面的行在整个文件中很常见:
this.panel1.Size = new System.Drawing.Size(311, 24);
无论该价值来自何处。此外,一个标签得到了有趣的文本"潐瑲⼠倠獯瑩潩㩮攀瑵慲ⱬ"
(它的原始字节不再有意义)。
当我没有在设计器中打开表单时,没有任何不好的事情发生,项目甚至在文件未被触及的情况下构建,并且在运行程序时看起来很好。但是打开设计器会触发设计器生成的代码中的上述更改,并且这些更改在编译时会持续存在(显然)。
在同事的机器上,这根本不会发生(但他无法在不崩溃 VS 的情况下打开数据集,所以这里的两个设置可能有点奇怪......)。
我真的很想知道这里发生了什么。有任何想法吗?
ETA:一旦设计器开始调整大小,我就无法更改控件的大小。调整大小仅会导致一些视觉伪影,就好像控件已调整大小一样,但在检查时仍为 311 px 宽度。
ETA 2:很奇怪:打开设计器(导致损坏,到目前为止还不错),然后使用 AnkhSVN 进行待定更改并恢复对文件的所有更改也会恢复损坏。表单看起来甚至应该在设计器中。直到我关闭并重新打开它。