【发布时间】:2010-03-31 00:18:10
【问题描述】:
我是 Visual C# 设计器的新手,所以这些是关于如何与设计器合作的一般且非常基本的问题。
例如,当我们向表单添加标签,然后在 Visual C# 设计器中双击它(我使用的是 Microsoft Visual C# 2008 Express Edition)时,会发生以下情况:
- 设计器在 Form1.Designer.cs 中生成代码(为简单起见采用默认名称)以添加标签,
-
然后双击它会将事件处理程序 label1_Click 添加到 Form1.Designer.cs 内的标签中,使用以下代码
this.label1.Click += new System.EventHandler(this.label1_Click);
并将事件处理方法添加到 Form1.cs
private void label1_Click(object sender, EventArgs e)
{
}
如果我现在删除标签,则只会删除 Form1.Designer.cs 中的代码,但 label1_Click 方法将保留在 Form1.cs 中,即使它没有被其他任何东西使用。但是,如果我在设计器中对 Click-event 使用 Properties->Events 中的重置,即使 Form1.cs 中的 label1_Click 方法也将被删除。
1.) 这不是有点不一致的行为吗?
2.) 删除此类生成的事件处理程序代码的推荐方法是什么?
3.) 使用设计器的最佳“思维方式”/最佳实践是什么?
我会通过心理分离的方式来处理它,Form1.cs 是我 100% 的责任,另一方面,我根本不接触 Form1.Designer.cs 中的代码。这有意义吗?因为有时设计师会删除某事。来自 Form1.cs 我不确定。
【问题讨论】:
-
我只是删除了孤立的事件处理程序。
标签: c# gui-designer