Visual Studio 2022更新WinForms后Designer.cs丢失this引用问题求助
Windows Forms Designer.cs修改后自动丢失this关键字的解决办法
每次对Windows Forms界面进行修改后,Designer.cs文件中所有控件引用的this关键字都会被自动移除,示例如下:
修改前的代码:
this.gbUserInfo.Controls.Add(this.btnSignIn); this.gbUserInfo.Controls.Add(this.txtPartner); this.gbUserInfo.Controls.Add(this.lblPartner); this.gbUserInfo.Controls.Add(this.txtPassword);
修改后的代码:
gbUserInfo.Controls.Add(btnSignIn); gbUserInfo.Controls.Add(txtPartner); gbUserInfo.Controls.Add(lblPartner); gbUserInfo.Controls.Add(txtPassword);
以下是可行的解决步骤:
检查Visual Studio代码样式设置
打开「工具」→「选项」→「文本编辑器」→「C#」→「代码样式」→「常规」,找到「'this.' 修饰符」分组,将「字段」「属性」「方法」的选项全部设置为「要求」,确保编辑器不会自动移除this关键字。排查项目.editorconfig配置
如果项目根目录存在.editorconfig文件,检查是否包含如下规则:dotnet_style_qualification_for_field = false:none将其修改为:
dotnet_style_qualification_for_field = true:suggestion该配置会强制要求字段使用
this修饰符,避免Designer自动移除。彻底重置Visual Studio设置
关闭所有Visual Studio窗口,打开命令提示符执行:devenv /ResetSettings重置完成后重新打开VS,重新配置代码样式规则,避免之前的残留设置影响。
禁用第三方代码格式化扩展
若安装了Resharper、CodeMaid等第三方扩展,暂时禁用这些扩展后测试界面修改操作,排查是否是扩展的自动格式化规则导致this被移除。
内容的提问来源于stack exchange,提问作者Lucas Zanon
相关产品推荐
相关产品推荐

