C# winform 动态添加控件

C# winform 动态添加控件之GroupBox和TextBox - 竹字间 - 博客园  https://www.cnblogs.com/lj1020/articles/2568885.html

-------------------------------------------------------------------------------------

一、添加GroupBox控件

 1.实例化并显示

//实例化GroupBox控件
            GroupBox groubox = new GroupBox();
            groubox.Name = "gbDemo";
            groubox.Text = "实例";
            //设置上和左位置
            //groubox.Top = 50;
            //groubox.Left = 50;
            //通过坐标设置位置
            groubox.Location = new Point(12, 12);
            //将groubox添加到页面上
            this.Controls.Add(groubox);


二、在GroupBox控件中添加TextBox控件

 1.实例化并显示

//实例化TextBox控件
            TextBox txt = new TextBox();
            txt.Name = "txtDemo";
            txt.Text = "txt实例";
            //将TextBox在GroupBox容器中显示
            //txt.Parent = groubox;
            //将TextBox在GroupBox容器中显示
            groubox.Controls.Add(txt);

2.置于顶层和置于底层

//置于顶层
            txt.BringToFront();
            //置于底层
            txt.SendToBack();

3.添加事件

//添加Click单击事件
            txt.Click += new EventHandler(btn_Click);

        }

        //定义Click单击事件
        private void btn_Click(object sender, EventArgs e)
        {
            MessageBox.Show("事件添加成功");
        }

三、添加多个

1.动态添加多个

//添加控件
        public void AddGroupBox()
        {
            string name = "gbox";
            for (int i = 0; i < 3; i++)
            {
                GroupBox gbox = new GroupBox();
                gbox.Name = name + i;
                gbox.Text=name+i;
                gbox.Width = 300;
                gbox.Height = 100;
                gbox.Location = new Point(32, 20 + i * 150);
                this.Controls.Add(gbox);
                //调用添加文本控件的方法
                AddTxt(gbox);
            }
        }
        //添加文本控件
        public void AddTxt(GroupBox gb)
        {
            string name = "txt";
            for (int i = 0; i < 3; i++)
            {
                TextBox txt = new TextBox();
                txt.Name =gb.Name+ name + i;
                txt.Text =gb.Name+"|"+ name + i;
                txt.Location = new Point(12, 15 + i * 30);
                gb.Controls.Add(txt);
            }
        }

实例:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Select_ListBox
{
    public partial class Form2 : Form
    {TextBox txt = new TextBox();
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            AddGroupBox();
            实例化GroupBox控件
            //GroupBox groubox = new GroupBox();
            //groubox.Name = "gbDemo";
            //groubox.Text = "实例";
            设置上和左位置
            groubox.Top = 50;
            groubox.Left = 50;
            通过坐标设置位置
            //groubox.Location = new Point(12, 12);
            将groubox添加到页面上
            //this.Controls.Add(groubox);

            实例化TextBox控件
            //TextBox txt = new TextBox();
            //txt.Name = "txtDemo";
            //txt.Text = "txt实例";
            将TextBox在GroupBox容器中显示
            txt.Parent = groubox;
            将TextBox在GroupBox容器中显示
            //groubox.Controls.Add(txt);
            
            置于顶层
            //txt.BringToFront();
            置于底层
            //txt.SendToBack();
            添加Click单击事件
            //txt.Click += new EventHandler(btn_Click);

        }

        定义Click单击事件
        //private void btn_Click(object sender, EventArgs e)
        //{
        //    MessageBox.Show("ss");
        //}

        //添加控件
        public void AddGroupBox()
        {
            string name = "gbox";
            for (int i = 0; i < 3; i++)
            {
                GroupBox gbox = new GroupBox();
                gbox.Name = name + i;
                gbox.Text=name+i;
                gbox.Width = 300;
                gbox.Height = 100;
                gbox.Location = new Point(32, 20 + i * 150);
                this.Controls.Add(gbox);
                //调用添加文本控件的方法
                AddTxt(gbox);
            }
        }
        //添加文本控件
        public void AddTxt(GroupBox gb)
        {
            string name = "txt";
            for (int i = 0; i < 3; i++)
            {
                TextBox txt = new TextBox();
                txt.Name =gb.Name+ name + i;
                txt.Text =gb.Name+"|"+ name + i;
                txt.Location = new Point(12, 15 + i * 30);
                gb.Controls.Add(txt);
            }
        }
    }
}






  • 22
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值