在C#中创建动态ComboBox

时间:2011-07-20 03:24:29

标签: c# combobox

我是Visual Studio 2010 C#的新手,我正在创建一个应用程序,用户将选择将在表单中显示的文本框数量。例如,如果用户自动选择“2”,则表格中将显示2个框。

这是我要创建的屏幕截图。

Select number of textboxes to be shown

The output when the user select 2

2 个答案:

答案 0 :(得分:3)

我想你需要知道的是动态创建控件。 要在这里做你想做的事,你需要:

  • 创建一个控件
  • 将控件添加到表单
  • 设置控制位置,大小和您需要的任何其他内容

它会是这样的:

Texbox texbox = new Textbox();
Controls.Add(textbox);
textbox.Top = 20;
textbox.Left = 200;
textbox.Width = 200;
textbox.Name = "textbox1";

因此,您还需要做一些事情,您应该在循环中重复上述步骤,并计算每个文本框的位置,以便它们不会叠加。

答案 1 :(得分:1)

comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    int i = 0;  
    int y = 0;
    while (i < int.Parse(comboBox1.SelectedItem.ToString()))
    {
        System.Windows.Forms.TextBox tt = new System.Windows.Forms.TextBox();
        y = y + 30;
        tt.Location = new System.Drawing.Point(0, y);
        this.Controls.Add(tt);
        i++;
    }
}

希望这有帮助