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.
 
