今天早上,我在Visual Studio的Windows Forms设计器中遇到了一个奇怪的问题。我有一个表单,一个月来一直没有改变过。它在应用程序中看起来像这样:
。现在从今天开始(我昨天在设计器中打开表单时没有出现问题),设计器中的表单看起来像这样:
。查看差异后,每个控件(或几乎每个控件-标签未受影响,但可能与AutoSize有关)都有311像素的宽度。在设计器搞砸文件后,类似以下的行在整个文件中很常见:
![Screenshot of how the form should look like](https://istack.dev59.com/2reWa.webp)
![Screenshot of how the form looks in the Windows Forms Designer](https://istack.dev59.com/BixQo.webp)
this.panel1.Size = new System.Drawing.Size(311, 24);
无论这个值来自哪里。此外,一个标签有有趣的文本"潐瑲⼠倠獯瑩潩㩮攀瑵慲ⱬ"
(在原始字节中没有更多意义)。
当我不在设计器中打开表单时,什么坏事都不会发生,即使文件未被修改,项目也会构建,并且在运行程序时看起来很好。但是打开设计器会触发上述对设计器生成的代码的更改,并且这些更改在编译时持久存在(显然)。
在同事的机器上根本不会发生这种情况(但他无法打开数据集而不会崩溃VS,因此可能两个设置都有点奇怪...)。
我真的想知道这里发生了什么。任何想法?
ETA:一旦它进入重新调整大小的暴走状态,我就无法在设计器中更改控件的大小。调整大小只会导致某些视觉伪像,就好像控件已经被调整大小,但在检查时仍为311像素宽度。
ETA 2:奇怪的是:打开设计器(导致损坏,到目前为止还不错),然后使用AnkhSVN进入待处理更改,并将所有更改恢复到文件,也会恢复损坏。即使在设计器中,表单看起来也像应该的那样。直到我再次关闭并重新打开它。