精华内容
下载资源
问答
  • 2022-01-06 16:12:35

    不要在父容器添加控件时,指定控件width等属性,要等控件添加到父容器后,在进行调整,属性就不会自动变换

    更多相关内容
  • C# winform 动态添加控件

    万次阅读 多人点赞 2017-12-14 19:31:08
    C# winform 动态添加控件之GroupBox和TextBox - 竹字间 - 博客园 https://www.cnblogs.com/lj1020/articles/2568885.html -------------------------------------------------------------------------------------...

    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);
                }
            }
        }
    }






    展开全文
  • 1.实例化并显示 //实例化GroupBox控件 GroupBox groubox = new GroupBox(); groubox.Name = "gbDemo"; groubox.Text = "实例"; //设置上和左位置 //groub...

     

    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控件

                //实例化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("事件添加成功");
                }

    三、添加多个

    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);
                }
            }
        }
    }

     

    展开全文
  • //添加单击事件 btn.Click += new EventHandler(btn_Click); } //添加单击事件 void btn_Click(object sender, EventArgs e) { Button btn = (Button)sender; MessageBox.Show(btn.Text); }   //...

    for (int i = 0; i < 4; i++)
    {
    Button btn = new Button();
    //btn.Name = dt.Rows[i]["ANDON_CONTENT_CODE"].ToString();
    btn.Text = dt.Rows[i]["ANDON_CONTENT_NAME"].ToString();
    btn.Location = new Point(5 + i * 143, 25);
    btn.Size = new Size(140, 30);
    gb4.Controls.Add(btn);
    //添加单击事件
    btn.Click += new EventHandler(btn_Click);
    }


    //添加单击事件
    void btn_Click(object sender, EventArgs e)
    {
    Button btn = (Button)sender;
    MessageBox.Show(btn.Text);
    }

     

    //获取想要的信息

    来源:https://zhidao.baidu.com/question/1174603454766847579.html

    你可以使用同一个button的点击事件,然后把对应数据的ID绑定到button上(tag属性之类),然后在事件中获取这个tag的值。就可以实现
     
    追问

    以上是我写的代码,难点是如何将ID绑定到BUTTON事件上,能否给点代码示例,谢谢。

     
    追答
    btn.Tag = units[i].ID.ToString();

    点击事件
    Button b = (Button)sender;
    string id = b.Tag.ToString();

    转载于:https://www.cnblogs.com/haizine/p/7206814.html

    展开全文
  • C# winform 动态添加自定义控件

    千次阅读 2019-12-30 13:53:18
    //添加控件 public void AddGroupBox() { string name = "gbox"; for (int i = 0; i ; i++) { GroupBox gbox = new GroupBox(); gbox.Name = name + i; gbox.Text=name+i; gbox.Width = 300; gbox.Height...
  • Winform动态添加控件

    千次阅读 2013-09-23 17:49:14
    第一步,想要添加什么对象,就先通过NEW关键字,实例化一个对象,创建一个对象的实体。 第二部,设置当前对象实体的属性值,事件等。 第三部,通过容器对象的Controls(该...这样,你就看到你动态添加了一个控件
  • WinForm动态添加控件及其事件(转)

    千次阅读 2015-06-08 18:35:00
     /// 加载图片控件 30  ///  31  ///  name="i">图片序号 32  ///  name="filePath">文件名 33  private void ViewPhoto(int i,string filePath) 34  { 35  string name=""; 36  name = "image...
  • .net WinForm动态添加控件和事件

    千次阅读 2012-10-17 23:25:38
    .net WinForm动态添加控件和事件 public partial class Form1 : Form  {  private static int x=50;  public Form1()  {  InitializeComponent();  }  pri
  • 第一次玩这个,自己在学习过程中需要用到动态生成控件,参考了些资料,写了个生成label控件的方法,希望大家喜欢。
  • C#在panel动态添加控件

    热门讨论 2010-08-09 17:55:54
    在 .net C#,在panel上动态增加控件示例子,简单,一看就会.
  • C# winform窗体中,动态添加和删除用户控件,可以添加用户控件,删除用户控件。如有需要,加VX:VPAmway,交流吧。
  • Winform C#制作的动态添加按钮,仅供初学者参考
  • 仪表盘控件,可以加载到winform中。也适合新手学习。
  • Winform Panel 动态添加控件坐标原点问题 Panel的坐标原点是在左上角,是在可视区域的左上角,当你的滚轮往下移动的时候,坐标原点也会跟着移动,所以动态添加控件的时候,在可视区域的时候控件的距离符合要求,当...
  • 分组类控件主要包括容器控件(Panel),分组框控件(groupBox)和选项卡控件(TabControl)等控件。 一、Panel控件 Panel控件是由System.Windows.Forms.Panel类提供的,主要作用就是将其他控件组合一起放在一个面板上,使...
  • WinForm 添加自定义控件 添加方法如下: ①新建项目,选择windows窗体应用程序,更改项目名称以及存储位置 ②项目创建好后,右键添加→新建项→用户控件(默认名为UserControl1.cs) ③将所需要控件拖入,编写好该...
  • winform控件的拖拽

    2017-08-11 11:49:36
    控件拖动 不拉出对话框 坐标转换 winform 拖拽 VS2010 编译通过
  • C#Winform之手动添加控件

    千次阅读 2021-07-27 09:50:21
    手动添加控件 一、右键Form1.cs查看代码,进入到程序编辑界面 二、在public Form1()前添加Button控件的类 代码如下图标号①红框中的内容 三、在 InitializeComponent()下添加Button控件并命名 代码如下图标号①红...
  • 1.遍历控件: //gbfill.Control:需要遍历的容器 foreach (Control vControl in gbfill.Controls) { //需要查找的控件 if (vControl is Label) ...
  • c# winform 动态添加多个之定义控件,怎么可以访问某一个控件的事件呢 ``` for (int i = 0; i ; i++) { Control.Refueller r1 = new Control.Refueller(); r1.Name = "jy"+i; r1.Size = new Size(220, ...
  • winform动态添加控件和事件

    千次阅读 2010-02-28 16:41:00
    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;namespac
  • 动态创建添加控件,可以在一个大容器里一次性放入多个控件。例:根据文本框中输入的数字 给flowLayoutPanel1 添加多少个button。窗体设计中,需要什么控件就从工具箱里拖出一个控件“挂”在窗体上。其实,窗体上的...
  • 下载后解压缩即可运行使用,代码...3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,首次记录窗体和其控件初始位置和大小,之后调用类的自适应方法,完成自适应。 4.Panel,DataGridView等控件同样适用。
  • .net Winform FlowLayoutPanel 动态添加图片(可拖拽、重绘)
  • 全部添加完成,进行代码的编写,开始,定义一个点,用来显示坐标 public struct Point {  //定义一个点  public double X;  public double Y; } 然后书写打开按钮的代码,绘制坐标系 将读取到的所有行数据,处理...
  • 主要介绍了WinForm遍历窗体所有子控件的方法,涉及C#递归遍历相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • c#动态添加控件

    2015-03-25 22:14:29
    c# winform 右键菜单 添加删除 动态添加
  • 寒假因为疫情不能出去,在家闲着没事想破解下邻居WiFi又没有合适的字典,有些字典生成器功能是全面但有些需求无法实现,大一简单学了下C#,索性自己就用winform编写个字典生成器,但因为对winform了解的不是很透彻,...
  • 3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,首次记录窗体和其控件初始位置和大小,之后调用类的自适应方法,完成自适应。 4.Panel,DataGridView等控件同样适用。 应用代码如下: using System; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,482
精华内容 10,192
关键字:

winform动态添加控件