【问题标题】:Visual Studio keeps deleting code in form.designersVisual Studio 不断删除 form.designers 中的代码
【发布时间】:2024-01-11 06:58:01
【问题描述】:

我正在制作一个 winform 应用程序。我正在尝试将 keydown 事件添加到组合框中,因此我准备了事件实现,然后在 form.designers 文档中添加了以下行:

this.cmboxSearchPath.KeyDown += cmboxSearchPath_KeyDown;

由于某种原因,这一行总是从文档中删除。你知道为什么以及如何阻止它被删除吗?

【问题讨论】:

    标签: c# events windows-forms-designer auto-generate form-designer


    【解决方案1】:

    修改desginer.cs 文件不是一个好主意。在表单设计器中附加事件,或者您可以在 (form.cs) 后面的代码中附加事件。如果您在设计器中加载表单并且收到忽略更改并重新加载设计的消息,它可能会消失。

    【讨论】:

      【解决方案2】:

      由于某种原因,这一行总是从文档中删除。你知道为什么以及如何阻止它被删除吗?

      不要将它放在设计器生成的代码中。您可以在 InitializeComponent() 调用之后将其包含在您的构造函数中,或者允许设计器通过设计器本身连接事件来为您生成它。

      【讨论】:

      • 设计师似乎是一切的完美场所。我相信它应该在那里而不是在构造中......你是什么意思“允许设计师通过接线为你生成这个通过设计师本身举办活动”?
      • @YonatanNir 如果您单击设计器(不是 .cs 文件,而是可视化设计器)中的组合框,然后转到属性窗口,然后选择顶部的“事件”,然后双击“KeyDown”。设计师将负责为您添加此内容。
      • 哇我不知道..谢谢你:)
      • 在 winform 中工作时我必须处理的最愚蠢的事情之一。如果您从设计器创建事件,它会将代码放在designer.cs 中。但是,如果您以某种方式手动添加事件,它就不再喜欢它了。
      最近更新 更多