C#winform中,控件复制

三碗猪脚 2015-10-28 01:27:37
请教:
程序运行时只有一个pannel,这个pannel内有一个datagridview控件,已经设计好,根据需要动态添加了一些pannel,想把第-个pannel中的datagridview完全复制到新添加的pannel怎么做,没有找到datagridviewr的lclone或copy方法
...全文
925 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
三碗猪脚 2015-10-31
  • 打赏
  • 举报
回复
我最后采用了是 循环遍历所有列,并复制添加到新的grid中 DataGridViewColumn dcc = dc.Clone() as DataGridViewColumn; 感谢大家的参与
threenewbee 2015-10-29
  • 打赏
  • 举报
回复
直接遍历控件类型,反射创建。本来就没有clone
_lee_chong 2015-10-29
  • 打赏
  • 举报
回复
公用一个数据源就成了嘛,都不用去拷贝
叶落无痕0826 2015-10-29
  • 打赏
  • 举报
回复
2楼是正解!
john121bank 2015-10-29
  • 打赏
  • 举报
回复
同意2楼的,再把datagrip的数据源引出来,作为usercontrol的一个属性。这样添加新的panel,就可以设置数据源了。
xian_wwq 2015-10-29
  • 打赏
  • 举报
回复
同意3楼,把控件绑定的数据源拷贝使用 比处理控件方便的多
ajianchina 2015-10-28
  • 打赏
  • 举报
回复
不用麻烦,你第一个datagridview的数据不要手动绑定,可以用datatable或list做数据源,new出来的datagridview,只要复制前一个数据源就完事,datatable直接datatable.Copy(),list可以list.GetRange(0,list.Count)。 如果你的数据不能这样直接绑定,你可以将datagridview填充数据的过程写一个函数 void fun(DataGridView dgv,DataTable table) { //填充过程 } 这样你可以通过数据源及datagridview代入进去直接执行。
szjay 2015-10-28
  • 打赏
  • 举报
回复
把带DataGridView的Pannel封装成一个UserControl,然后用代码new UserControl,再Add到窗体上就行了
u010868852 2015-10-28
  • 打赏
  • 举报
回复
datagridview的Columns属性和rows属性都有copyto()的方法 应该可以实现楼主的需求,可以研究一下

110,537

社区成员

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

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

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