本帖最后由 刘安成 于 2013-12-24 01:25 编辑
有时候我们需要动态的为一个容器内生成控件,例如:动态的生成考题,这些考题是我们预先不知道数目的,还有生成一个键盘,日志,等等。这些都是我们开发中最常见的问题。下面我就做个例子,希望给初学者一点帮助;
1,假如现在有一个这样的窗体,当我点击时生成考题按钮时,左边的panel里就会从数据库中查出考题并显示出来,然后点击每个考题时会在右边的panel里面显示详细信息;
2,新增加一个考题类,代码如下:
3,实例化一个考题库(应该是从数据库中查询,但为了演示方便,自己实例化)
在生成考题按钮的点击事件里循环生成一个考题集合:
4,既然考题都有了,剩下的就是动态生成他,然后把它加到容器中了
生成控件的样式可以先在窗体上拖一个控件,然后调好样式,从窗体的这个文件里找到生成好的样式然后拷贝到代码了,我先来拖一个考题按钮
哈哈,是不是很漂亮,接下来我们找到自动生成的样式文件
红色的部分就是系统自动生成的考题样式,下面将他拷贝到生成考题代码里;
5,在生成考题事件里面开始生成考题吧,然后把考题加进容器里,也就是左面的 panel
8,把我们用手拖的那个考题按钮删除了吧,运行点生成考题看看效果吧,是不是很漂亮
9,然后为右边的panel增加一个考题模板
10,在考题的点击事件里根据考题的编号查询内容并绑定在右边的考题模板里
11,其实.net中还有很多的容器布局方式,自己去了解吧,有时间在去写布局方面的东西本例子代码 C# Winform动态生成控件
|