动态添加控件
我想winform中的输入框控件随着数据库中的字段增加而相应增加,并通过sql进行数据插入。该怎么实现呢 --------------------编程问答-------------------- winform中每个控件,包括窗体都有这个属性的:Controls
你可以这样使用Controls.Add(你的新控件) --------------------编程问答-------------------- TextBox t1 = new TextBox();
this.Controls.Add(t1); --------------------编程问答--------------------
CheckBox的自动增加
private void AllCheck_CheckedChanged(object sender, EventArgs e)
{
foreach (Control con in this.Controls)
{
if (con is CheckBox && con.Name != "UnAllCheck")
{
(con as CheckBox).Checked = true;
}
else if (con is CheckBox && con.Name == "UnAllCheck")
{
(con as CheckBox).Checked = false;
}
else if (con is GroupBox)
{
foreach (Control conn in con.Controls)
{
if (conn is CheckBox)
{
(conn as CheckBox).Checked = true;
}
}
}
}
} --------------------编程问答-------------------- 错了,是选中与不选中状态 --------------------编程问答-------------------- 那insert的sql语句怎么写呢 --------------------编程问答-------------------- 拼 --------------------编程问答-------------------- 大家提供下代码 --------------------编程问答-------------------- 先判断表里有多少个字段,在界面添加几个输入控件。 --------------------编程问答-------------------- 给您一个自动添加控件的代码.
//创建“文本框”控件
TextBox inPutText = new TextBox();
inPutText.Size = new Size(432, 20);
inPutText.Location = new Point(10, 105);
inPutFrm.Controls.Add(inPutText);
inPutText.SelectAll();
生成SQL语句最主要不就是想如何获得自动生成文本框的值吗?如下:
获得文本框值:inPutText.Text --------------------编程问答-------------------- 控件的位置,是否可為空的控制呢 --------------------编程问答-------------------- 如果想生成一组文本框,那就要声明控件数组了.获取值时用foreach语句.实现逻辑自己想下咯. --------------------编程问答-------------------- 可以,但不好,自动生成多个的时候,理论上会重叠在一起了. --------------------编程问答-------------------- 我是这样做的.
判断表里有多少个字段,在界面添加几个输入控件。
然后,用表保存输入的控件值.
控件名称1/控件名称2..
控件1的值/控件2的值..
--------------------编程问答-------------------- 我明白您的意思!要保存值就要获得控件的输入值啊!
TextBox inPutText = new TextBox(); //声明控件
inPutText.Size = new Size(432, 20); //控件大小
inPutText.Location = new Point(10, 105); //控件位置
inPutFrm.Controls.Add(inPutText); //添加控件到窗体(inPutFrm为窗体名称
插入数据:
insert into 表名(字段1,字段2) values(inPutText.Text,inPutText2.Text)
--------------------编程问答-------------------- 置于如何判断表里有多少个字段,您应该好明白了吧!
比如您判断知道有10个字段,则代码如下:
TextBox[] inPutText = new TextBox[10]; //声明控件
for (int i=0;i<10;i++)
{
inPutText[i].Size = new Size(432, 20); //控件大小
inPutText[i].Location = new Point(?, ?); //自定控件位置
inPutFrm.Controls.Add(inPutText[i]); //添加控件到窗体(inPutFrm为窗体名称
}
//获取控件值
string str=null;
foreach (TextBox txtBox in inPutText)
{
str+=txtBox.Text+",";
}
最后把最后一个","去年就可以获得值了.
补充:.NET技术 , C#