C#实现动态添加和删除控件
2014-03-11 14:36
260 查看
最近弄一个项目,需要动态添加控件和删除控件.原始界面如下:
![](http://img.blog.csdn.net/20140311141858203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGliZXJ4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
如上图操作添加按钮,则下面自动增加一行GROUPBOX控件,操作删除则自动删除最后一行开始的BROUPBOX控件.
实现步骤如下:
1)定义一个记录行数的全局变量
2)编写动态添加的代码
3)编写删除按钮的操作。这儿需要先遍历所有添加的GroupBOX控件,然后依据其纵向Y轴的变化,定位到需要删除的控件,实现删除。注意控件编号要减一,否则会异常。
如上图操作添加按钮,则下面自动增加一行GROUPBOX控件,操作删除则自动删除最后一行开始的BROUPBOX控件.
实现步骤如下:
1)定义一个记录行数的全局变量
public int watch_num = 0;
2)编写动态添加的代码
private void addWatchFrom(int _series,string _diskName) { try { GroupBox s1 = new GroupBox(); s1.Top = 200 + _series*90; s1.Left = 8; s1.Width = 260; s1.Height = 80; this.Controls.Add(s1); } catch (Exception ex) { MessageBox.Show(ex.Message); } } //添加按钮的操作 private void button3_Click(object sender, EventArgs e) { addWatchFrom(watch_num, "C"); watch_num++; }
3)编写删除按钮的操作。这儿需要先遍历所有添加的GroupBOX控件,然后依据其纵向Y轴的变化,定位到需要删除的控件,实现删除。注意控件编号要减一,否则会异常。
//删除控件 private void button4_Click(object sender, EventArgs e) { if ((this.watch_num-1) >=0)//if 1 { foreach (Control obj0 in this.Controls )//判断界面上的控件 { if (obj0.GetType().ToString().Equals("System.Windows.Forms.GroupBox")) { if (obj0.Location.Y ==(200 + (this.watch_num-1) * 90)) { this.Controls.Remove(obj0); if (this.watch_num > 0) { this.watch_num--; } break; } //此时只要执行你的删除控件代码即可 } } }//if 1 }
相关文章推荐
- C#.NET中动态添加与删除控件
- jquery实现动态添加控件,删除控件,页面性能优化
- C#WinFrom开发系列之关于动态添加生成和删除控件的相关知识
- C# WF 删除panel容器动态添加的控件
- C#实现动态添加用户控件
- C# windows mobile中实现控件的动态绘制与动态删除
- jQuery动态添加删除select项(实现代码)
- JavaScript动态实现表格添加、删除、插入、上移、下移一行功能
- 基于JavaScript实现动态添加删除表格的行
- Jquery 实现动态添加table tr 和删除tr 以及checkbox的全选 和 获取添加TR删除TR后的数据
- c# winform groupbox动态添加控件(个人向。不喜勿喷)
- html 页面控件动态添加和删除
- jQuery实现动态添加删除输入框
- ielement-ui实现动态添加删除
- C# 中动态添加控件及其事件
- android动态添加删除控件以及设置宽高
- c# winForm TableLayoutPanel学习 合并行的布局及动态增加删除内部控件
- C#为控件动态添加事件绑定的时机
- 基于Jqurey的下拉框改变动态添加和删除表格实现代码
- 使用C# + Xamarin开发Android应用-- 动态添加控件