WinForms Designer与Desinger.cs代码不匹配

时间:2019-10-10 14:12:21

标签: c# winforms windows-forms-designer

我在WinForms Designer中遇到各种奇怪的问题,想知道是否有人知道此修复程序。我将在此处列出一些症状(以防万一,它们都是同一问题的症状)。

我遇到一个问题,当我关闭并重新打开表单的设计器时,我的选项卡控件被“压缩”到左上角。

![screenshot](https://i.imgur.com/3gWPYJE.png)

似乎受到影响的控件固定在底部(有时是左下,有时是右下,但始终包括“下”)。如果我将控件移到应有的位置,请保存,关闭设计器,然后重新打开-它们全部“压缩”回左上角。

甚至更奇怪的是,某些控件(例如复选框)在属性窗格中显示的属性与Form.Designer.cs文件中的内容不匹配(Form.Designer.cs具有正确的位置值) :

![screenshot](https://i.imgur.com/lUavNUA.png)

运行我的应用程序时,它显示“压缩”控件,并且不反映Form.Designer.cs文件中的值(正确)。

最后,有时当我去保存文件时,Visual Studio弹出一个“另存为”对话框,好像它不知道文件的实际位置,但是然后提示我覆盖完全相同的文件(即使没有任何变化。

screenshot

如果有人对导致这些问题的原因有任何想法,那将非常有帮助!我已经尝试调查“文档大纲”窗口,以查看是否存在某种奇怪的育儿(没有),并尝试调整Form.Designer.cs文件以进行修复(但没有,所以我撤消了这些更改) ,还有其他几件事。

1 个答案:

答案 0 :(得分:-1)

嗯,我从来没有发现发生这种情况的真正原因,但是我找到了原因(和解决方法)。

原因是我的用户控件位于“编辑器”标签页上(红色矩形内的所有内容都是一个用户控件的一部分):

enter image description here

我不确定为什么这会导致所有“重新排列”问题-直到最近我才在选项卡页上拥有所有这些控件(没有usercontrol“ parent”)。但是,也许Designer正因某种原因变得超负荷,并且将控件放置在奇怪的位置。

无论是什么原因,“修复”(如果可以这样称呼)是从设计器中删除用户控件,并在启动时将其添加到表单中。我会以任何方式在自己的设计器中进行用户控件的所有设计,因此现在这已经足够了。

如果有人对造成此问题的真正原因有任何想法,请告诉我。