You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Winforms编辑窗体时Designer.cs修改丢失 如何正确添加Resize事件

WinForm事件绑定避免被设计器覆盖的正确操作

问题原因

*.Designer.cs是Visual Studio设计器自动生成的托管文件,每次通过可视化编辑器修改窗体并保存时,设计器都会重新生成该文件的全部内容,因此手动写入该文件的自定义代码都会被清空,永远不要直接修改该文件的内容。

正确操作方式

方式1:通过可视化设计器绑定(和双击按钮自动绑定事件逻辑完全一致)

  • 打开Form的可视化设计界面,点击窗体空白区域选中窗体本身
  • 按F4调出属性窗口,点击属性窗口顶部的闪电形状图标切换到事件面板
  • 在事件列表中找到Resize项:
    • 如果你还没写处理方法:双击Resize右侧的空白输入框,VS会自动生成事件处理方法骨架,同时自动完成事件绑定,该绑定会被设计器识别,后续修改窗体不会被清除
    • 如果你已经写好自定义处理方法:点击Resize右侧的下拉框,选中你预先写好的处理方法即可完成绑定

方式2:手动代码绑定(写在设计器不会修改的位置)

不要把绑定代码写在Designer.cs中,直接写在窗体的构造函数中,放在InitializeComponent()调用之后即可:

public Form1()
{
    InitializeComponent();
    // 在此处添加自定义事件绑定,不会被设计器覆盖
    this.Resize += 你的自定义处理方法名;
}

注意事项

  • 所有自定义逻辑、手动添加的事件绑定都要放在窗体对应的.cs业务代码文件中,不要触碰自动生成的Designer.cs文件
  • 两种绑定方式效果完全一致,可根据使用习惯选择

内容的提问来源于stack exchange,提问作者Brian Clason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:45:03