在运行时创建文本框

时间:2013-01-24 00:20:24

标签: c# .net winforms textbox runtime

使用此代码我可以在运行时创建文本框组件:

 List<TextBox> customTextBox = new List<TextBox>();

 foreach (string ValutaCustomScelta in Properties.Settings.Default.ValuteCustom)
     {
       TextBox textbox = new TextBox();
       textbox.Location = new System.Drawing.Point(295, 117 + customTextBox.Count * 26);       textbox.BackColor = Color.Black;
       textbox.ForeColor = Color.Lime;
       textbox.Parent = tabPage2;
       textbox.Name = "textbox_" + SelectValute;
       textbox.Size = new System.Drawing.Size(80, 21);

       customTextBox.Add(textbox);
       tabPage2.Controls.Add(textbox);
       tabPage2.Controls.SetChildIndex(textbox, 0);
      }

此代码放在表单2中,但我需要将textbox创建为form1。我不知道在这段代码中添加它需要哪条指令。

提前致谢

1 个答案:

答案 0 :(得分:1)

编辑:

您需要在Form1中保留对Form2的引用。例如:

public partial class Form2 : Form {
    private Form1 _form1;

    public Form2(Form1 form) {
        _form1 = form;
    }
}

然后你可以在Form2

中使用它
_form1.Controls.Add(textbox);
_form1.Controls.SetChildIndex(textbox, 0);

您需要像这样创建Form2(来自Form1):

Form2 form2 = new Form2(this);