Winform用代码动态添加控件
一般情况下,Winform添加控件都是直接把它拖到窗体中,这只是其中一种添加方式,还有一种灵活的添加方式,即用代码动态添加。有些控件在初始化的时候并不需要,把它拖到窗体中,势必影响程序执行效率,尤其这种控件多的时候,所以动态添加就显得十分有必要。
需要注意的是,并不是每个控件都可以动态添加其子控件,例如 Label、Button,在窗体方式也不能把控件拖到它们里面。下面是几个动态添加控件的实例。
一、Winform窗体动态添加控件
private void Form1_Load(object sender, EventArgs e)
{
Panel pa = new Panel();
pa.Location = new Point(2, 10);
pa.Width = 200;
pa.Height = 100;
pa.BackColor = Color.Beige;//背景颜色
this.Controls.Add(pa);
}
二、Panel动态添加ListView
private void PanelAddListview()
{
Panel pa = new Panel();
span class="sl">pa.Location = new Point(5, 5);
pa.Width = 290;
pa.Height = 290;
pa.BackColor = Color.Beige;
this.Controls.Add(pa);
ListView lv = new ListView();
lv.Width = 290;
lv.Height = 280;
lv.GridLines = true;
lv.View = View.Details;
lv.FullRowSelect = true;
lv.Columns.Add("UserID", 100, HorizontalAlignment.Center);
lv.Columns.Add("昵称", 100, HorizontalAlignment.Center);
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Clear();
lvi.SubItems[0].Text = "80095667";
lvi.SubItems.Add("云里飘");
lv.Items.Add(lvi);
pa.Controls.Add(lv);
}
运行效果图如图1所示:
图1
三、Winform窗体动态添加文本框控件TextBox
private void Form1_Load(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.Location = new Point(10, 10);
tb.Width = 200;
tb.Height = 22;
this.Controls.Add(tb);
}
添加 Label、Button,方法也是一样,如果把 TextBox 添加到 Panel 中,把 this 换为 Panel 即可。
四、Form动态添加PictureBox
private void AddPictureBox()
{
PictureBox pb = new PictureBox();
pb.Name = "图片名称";
pb.Image = Image.FromFile("E:\\winform\\images\\test.jpg");
pb.Width = 280;
pb.Height = 220;
pb.Location = new Point(10, 10);
//添加事件
pb.Click += new System.EventHandler(pb_Click);
this.Controls.Add(pb);
}
private void pb_Click(object sender, System.EventArgs e)
{
PictureBox pb = (PictureBox)sender;
string pbName = pb.Name;
}
-
相关阅读
- C# Winform设置焦点focus(text
- C# Winform label自定义大小与居中,文字自动换行
- C# Winform 打开文件夹并选中文件和打开文件
- C# Winform鼠标样式设置方法
- Excel制作单双控件动态图表,含用组合框、选项按钮动
- listview修改选中行项的颜色和加加粗字体 Winf
- C# 画 Winform Panel边框的两种方法(ControlPain
- 总结您的web浏览器已经阻止此站点以不安全的方式使用ac
- C# Winform button与label
- C# ListView控件显示表格(自适应宽度),添加 Chec
- C# Winform窗体居中与关闭窗体
- C# Winform打开网页(网址url)Process.