我很好奇其他人如何在C#中使用这种WinForm代码。 让我们说我有一个Form我们称之为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);
进入设计师代码。你的“事件接线”代码应该在两个地方吗?
答案 0 :(得分:2)
简短回答是肯定的。
更长的答案是.designer.cs适用于设计人员生成的代码。如果你把自己的代码放在那里,它有可能被覆盖,搞砸了visual studio中的设计时间,并降低了可维护性,因为没有人希望自定义代码在那里。
答案 1 :(得分:1)
这是一个敏感的话题。在1.1中,表单文件中存在这样的区域,但很多时候,代码将由设计者覆盖。我是在谈论网络形式的经验,但我只是认为它在其他地方也是如此。
现在,您实际上将eventname放在表单本身(它是表单设计器中的一个属性),代码生成器将推出部分类中的+ =事件处理程序。我讨厌这种方式,但事实就是如此。
答案 2 :(得分:0)
我将 Designer 用于与Component相关的所有事件。
我对所有对象事件使用代码。