1

我想这个问题已经被问到并得到了回答,但我找不到它。

我想制作一个简单的 GUI 来连接 Windows 7 命令。我通常使用 Wx,但由于这是一个仅限 Windows 的东西,所以我决定看看我是否可以使用我以前从未使用过的 Visual C# 2010 Express 真正快速地把它拿出来。

事情开始得很好。我创建了一个表单,在上面放了一些按钮和文本框等,然后点击调试。它就这样跑了起来。没有混乱,没有大惊小怪。因此,我按照我想要的方式设计了表单,将控件从“Button1”等重命名为有意义的名称。但现在是一团糟。通过点击,我发现 VC# 自动生成了两个名为 Form1.cs 和 Form1.Designer.cs 的文件。后者包含函数之间的绑定以及用户点击等生成的事件,前者包含这些函数的无操作代码,由我完成。

问题是,名称仍然是原来的“Button1”等等,不是新的,而且我第一次运行后添加的新控件根本没有出现。

我希望它从完成的表格中重新生成所有这些东西。如何?

4

1 回答 1

0

可能没有实际问题,除非您在Form1.Designer.cs. 如果您不理会该文件,那么事情应该可以正常工作。

每当您双击按钮或使用事件界面创建事件处理程序时,将使用以下模式创建处理程序:

ObjectName_EventName()

因此,例如:

Button1_Click()

如果稍后更改 Button1 的名称,事件处理程序的名称也不会更改。但它仍然附加到正确的事件,再次假设您没有在 Form1.Designer.cs 中编辑任何内容

如果您在 Form1.Designer.cs 中查看(但不要触摸!),您可能会发现类似以下内容:

MyNewButtonName.Click += Button1_Click;

(我不记得编辑器用于连接事件处理程序的确切语法;原则是您应该看到按钮名称附加到处理程序名称)

于 2012-09-05T03:40:40.850 回答