VS2017 WinForms Designer更改时创建第二个构造函数

问题描述 投票:0回答:1

[在一个新项目中,我创建一个名为FormMain的表单(或其他任何形式,都没有关系)。这将创建FormMain.cs和FormMain.Designer.cs。该程序将在此时生成并启动。

但是当我在GUI设计器上进行任何更改(例如更改Form属性或从工具箱中添加MenuStrip时,我看到也创建了FormMain.resx,并随之创建了FormMain1.Designer.cs。

然后,我得到一个错误

Error CS0111 Type 'FormMain' already defines a member called '.ctor' with the same parameter types

我意识到这是由于在部分FormMain类下创建了第二个构造函数,在新生成的FormMain1.Designer.cs中与FormMain.cs]中的冲突>。

如果我删除FormMain1.Designer.cs

中的构造函数,则项目将生成并正常运行。但是,如果我在表单上进行了进一步的更改,则会在FormMain1.Designer.cs中再次创建构造函数,并且错误会重复出现。我需要FormMain.cs中的构造函数,并且不想删除它。

因此,基本上,每次不删除第二个构造函数,我都无法对表单进行更改

我在GUI编辑器上进行了更改。这是Visual Studio 2017(15.9.14)中的错误吗?如果是,是否有任何已知的解决方法?

[在一个新项目中,我创建一个名为FormMain的表单(或其他任何形式,都没有关系)。这将创建FormMain.cs和FormMain.Designer.cs。该程序可以在此正常构建和启动...

c# winforms constructor visual-studio-2017
1个回答
0
投票

通过从Visual Studio中删除Extended Strongly Typed Resource Generator解决了该问题。这将阻止在每次编辑表单时创建FormMain1.Designer.cs

© www.soinside.com 2019 - 2024. All rights reserved.