WinFrom 动态生成
动态生成有什么好处呢?
我给大家举个例子, 比如一个点餐系统, 如果后台新增了一个菜品,那么这个时候前台的控件一定是需要改变数量的,怎么办呢.这个时候就需要动态生成.
当然动态生成不止这一个功能, 他能实现多样化的数据展示, 良好的配合数据库进行操作
那么如果看了本贴,你就能明白如何使用数据库进行动态生成从而实现多样化的数据展示
WinFrom基础控件中有许多很常用的比如Button 等,这些控件在拖到设计界面的时候会在构造器的默认调用方法中生成对应的控件的属性 声明 ,
这个方法会 调用我们操作的控件类 也就是说我们在设计界面的所有控件都会在主函数new时候生成
图中为 InitializeComponent()方法内对 控件的声明
那么在用户需要进行访问数据库对控件进行生成和删除操作的时候我们就可以很好的用到这一点对控件进行操作
如何对控件进行生成呢?
首先我们需要知道 每一个控件都是一个类 Class 那么是一个类自然就会有属性和方法 , 我们常用的 在设计界面修改的属性就是修改你创建出对应类的对象中的属性如图中所示
图中这种方法会在构造器中默认生成对对应属性的赋值如图所示
那么我们实力来一发
Button butt = new Button(); butt.text = "点我啊"; butt.BackColor = Color.White;
这时候我们在代码中创建了 一个按钮,
但我们还有两个问题 :
1.这个控件没有大小
2.这个控件并没有在某容器或窗体的控件集中
我们会发现直接用对象butt点Size不知道该怎么赋值在这里我给大家一个方案
butt.Height = 200;//高 butt.Width = 200;//宽
最后就是控件集
Button butt = new Button(); butt.Text = "点我啊"; butt.BackColor = Color.White; butt.Height = 200;//高 butt.Width = 200;//宽 this.Controls.Add(butt);
这里.控件集.增加(对象);
但上述代码还有最后一个缺陷就是定位
在此我给大家一个解决方案
Button butt = new Button(); butt.Text = "点我啊"; butt.BackColor = Color.White; butt.Height = 200;//高 butt.Width = 200;//宽 butt.Location = new Point(100, 100); this.Controls.Add(butt);
以上就是全部内容, 十分感激各位, 新人第一次写,不是很好请大神指教.