繁体   English   中英

在 Visual Studio 2022 中,意外重命名事件处理程序会破坏表单设计器

[英]In Visual Studio 2022 accidentally renaming an event handler breaks the Form Designer

通常,当您更改事件名称(不是在属性窗口中)时,它会出现此错误: Error Image

但是,当我升级到 VS 2022 时,如果我更改了事件处理程序代码 ( changed code ),然后打开我的设计器窗口,我会看到这个 ( a broken designer window )。

即使我恢复了事件处理程序名称更改,窗口也会保持不变。 我只想让表单恢复到我所有按钮、菜单条等的样子。(窗口应该是什么样子

请帮助这个没有经验的编码员;(

编辑 1:
- 尝试重建,但没有修复 Designer 窗口。
-修复后尝试重新启动 VS,但仍然无效。
- 没有使用重构,但在更正名称后,设计器窗口仍然损坏(是的,我检查了设计器文件)
- 来不及使用 ctrl-Z
-我还尝试从 Form1.Designer.cs 和 Form1.cs 中删除事件Form1.Designer.cs 代码的图像

好像是不显示Form1,Text本来是设置成Form1的,但是报错后Text是空的(我说的就是这个)。 但设计名称仍然是 Form1

要重命名事件、变量、方法等的名称,请使用键盘快捷键Ctrl + R + R。

有关位于表单上的控件的所有信息(实例、位置、颜色、大小、事件等)都集中在 * .Designer.cs中的InitializeComponent()方法中。 您显示一个空表单这一事实意味着您的表单很可能使用不同的Form1.Designer.cs

转到表单的脚本,在那里找到构造函数:

...

public Form1()
{
   InitializeComponent();
}

...

按住Ctrl键,将鼠标悬停在构造函数中调用的InitializeComponent方法的名称上,然后单击鼠标左键。 Visual Studio 将带你到描述InitializeComponent方法的地方。

检查是否有关于您在其中一张图像中显示的那些按钮的信息。 最有可能的是,这些信息将不存在。 如果您的项目中仍有原始的Form1.Designer.cs ,您可以简单地复制其InitializeComponent方法并在较新的设计器脚本中替换此方法。

我有同样的问题。

在调查InitializeComponent()之后,我发现所有的语句this.Controls.Add(...)都丢失了。

重新添加它们会使表单和设计器都像以前一样工作。 我不知道为什么会这样,但很高兴知道有一个简单的解决方法。

至少这教会了我总是使用 VS 的重命名/重构功能而不是 hacky 方式;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM