0

我只是好奇其他人如何在 C# 中使用这种 WinForm 代码。假设我有一个表格,我们称之为 Form1。我有一个名为 dgvMain 的 DataGridView。

你把代码放在哪里:

this.dgvMain.CellEndEdit += new DataGridViewCellEventHandler(dgvMain_CellEndEdit);

你把它放在Form1代码还是Form1设计器代码中?这个“事件连接”代码应该放在 Form1_Load 方法中吗?

我问的原因是......如果你双击 DataGridView IDE 插入代码:

 this.dgvMain.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvMain_CellContentClick);

进入设计器代码。您的“事件接线”代码应该在两个地方吗?

4

3 回答 3

2

简短的回答是肯定的。

更长的答案是 .designer.cs 用于设计器生成的代码。如果你把自己的代码放在那里,它有可能被覆盖,搞砸 Visual Studio 中的设计时间,并降低可维护性,因为没有人期望自定义代码在那里。

于 2008-12-01T21:13:21.637 回答
1

这是一个敏感的话题。在 1.1 中,您的表单文件中有此区域,但很多时候,代码会被设计者覆盖。我是从网络表单的经验中说的,但我只会认为它在其他地方是一样的。

现在,您实际上将事件名称放入表单本身(它是表单设计器的属性之一),代码生成器将在部分类中推出 += 事件处理程序。我讨厌这种方式,但它就是这样。

于 2008-12-01T21:13:21.637 回答
0

我将设计器用于与组件相关的所有事件。

我将代码用于所有对象事件。

于 2008-12-01T21:11:51.843 回答