C#winform控件动态添加和动态移除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#winform控件动态添加和动态移除相关的知识,希望对你有一定的参考价值。

我正在做一个基于winform的电子投票系统,需要利用控件动态添加和动态移除,如图所示,
图中的文本框和×按钮都为动态添加的控件,请问怎么写代码,可以使单击每行的“×”按钮时,移除其对应行(动态添加)的文本框和“×”按钮,还有一个就是

:怎么将图中动态添加的文本框中的内容,传到数据库里

我的控件动态添加代码如下:

TextBox aa = new TextBox();
aa.Name = "aa" + clk_11;
aa.Size = textBox2.Size;
aa.MaxLength = 50;
aa.Left = textBox2.Left;
aa.Top = textBox2.Top + 30 * (clk_11-1);
aa.Font = textBox2.Font;
groupBox2.Height += 30;
if (groupBox2.Top >= 280)

throwing.Top += 30;
save.Top += 30;

this.groupBox2.Controls.Add(aa);
Button a1 = new Button();
a1.Name = "a1" + clk_11;
a1.BackgroundImage = button2.BackgroundImage;
a1.BackgroundImageLayout = button2.BackgroundImageLayout;
a1.FlatAppearance.BorderColor = button2.FlatAppearance.BorderColor;
a1.Size = button2.Size;
a1.Left = button2.Left;
a1.Top = button2.Top + 30 * (clk_11-1);
a1.Font = button2.Font;
a1.FlatStyle = button2.FlatStyle;
a1.Click += new EventHandler(button2_Click);
this.groupBox2.Controls.Add(a1);
if (groupBox2.Top >=280)

panel1.Height += 30;
this.Height += 30;


button2_Click事件代码

private void button2_Click(object sender, EventArgs e)

try

if (clk_11 >= 2)

//TextBox aa1 = (TextBox)c;
Button a11 = (Button)sender;

this.groupBox2.Controls.Remove(a11);


catch (Exception ex11)

MessageBox.Show(ex11.Message);



请各位大侠教教我,帮我补充补充,谢谢了,

参考技术A 加个数据表存储控件的种类,及属性界面上先读出数据库,判断种类,然后初始化控件,然赋值给控件属性很简单的,动手试一下就行,刚开始之所以很麻烦,是因为你要建数据表,要存这里属性的话,数据库操作不方便 参考技术B 你不嫌麻烦?这么简单的东西一定要用动态添加控件?列表框控件、网格控件等等都可以完成你需要的功能。本回答被提问者采纳 参考技术C 很简单,示例代码可以在任何一个form的InitializeComponent事件中学习到。

C#winform动态添加控件

第一步,想要添加什么对象,就先通过NEW关键字,实例化一个对象,创建一个对象的实体。
第二部,设置当前对象实体的属性值,事件等。
第三部,通过容器对象的Controls(该属性为一个集合)属性的Add方法添加你当前创建的对象实体。
这样,你就看到你动态添加了一个控件。
参考技术A 可以在窗体里面插入一个panel,在添加新控件的时候就向panel中添加就行了,
例:

//button点击事件
TextBox
t1
=
new
TextBox();//新建一个TextBox,可以给控件设置Name等属性
panel1.Controls.Add(t1);//向panel1添加新建的TextBox

其它控件添加方法基本相同

以上是关于C#winform控件动态添加和动态移除的主要内容,如果未能解决你的问题,请参考以下文章

C#winform动态添加控件

C# winform动态添加控件获取值问题

C# winform动态添加控件获取值问题

C# WinForm 如何动态添加控件和设计控件布局

C# WinForm 如何动态添加控件和设计控件布局

C# WinForm 动态添加-删除控件内存未释放