高分求解释winform datagridview中的一个问题

qinzhuhua 2012-03-03 04:44:27
今天在做winform项目时,打开.Designer.cs窗体设计文件,发现一个问题:
在InitializeComponent()(Windows 窗体设计器生成的代码)中发现datagridview的设计中有很多多余的代码,比如:
this.dataGridViewTextBoxColumn1.DataPropertyName = "DepName";
this.dataGridViewTextBoxColumn1.HeaderText = "部门名称";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.ReadOnly = true;
this.dataGridViewTextBoxColumn1.Visible = false;
this.dataGridViewTextBoxColumn1.Width = 150;
以上代码完全是多余的,删除后不影响窗体,这列的设计代码是后面的:
this.DepName.DataPropertyName = "DepName";
this.DepName.HeaderText = "部门名称";
this.DepName.Name = "DepName";
this.DepName.ReadOnly = true;
this.DepName.Width = 150;

datagridview的设计中存在好多这种多余代码,这是怎么回事?有人能给我解释一下吗?怎样才能禁止产生这些多余的
设计代码?我用的是VS2005,谢谢!
...全文
54 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinzhuhua 2012-03-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mizuho_2006 的回复:]
一些属性的默认设置吧。
[/Quote]
是可以改的吗?我就是看见那一大遍的代码有点不爽,哈哈
mizuho_2006 2012-03-03
  • 打赏
  • 举报
回复
一些属性的默认设置吧。
qinzhuhua 2012-03-03
  • 打赏
  • 举报
回复
我已经修改了,为什么以前的设计还在上面,那些设计我已经修改了,没用了啊,可不可以设计一下,让这些历史设计被新的设计覆盖掉?
mizuho_2006 2012-03-03
  • 打赏
  • 举报
回复
窗体初始化时执行InitializeComponent()方法,你查看这个方法的定义,就是在.Designer.cs文件中定义的。.Designer.cs使用partial类,在运行时和窗体类编译成同一个类的。因此在窗体的后台代码中可以直接调用InitializeComponent()方法,因为他们在一个类中。
mizuho_2006 2012-03-03
  • 打赏
  • 举报
回复
这些代码不是多余的,是一些窗体初始化时的设置。你如果在设计器中改变一下窗体某个控件的属性,就会在.Designer.cs文件中自动生成相应的代码。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧