2013-01-24 3 views
-2

с этим кодом можно создать на компонентах TextBox среды выполнения:Создание текстового поля во время выполнения

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, но мне нужен, что Textboxes созданы, чтобы быть в Form1. Я не знаю, какая инструкция необходима, чтобы добавить его в этот код.

Заранее спасибо

+0

..can вы не просто переместите этот код в другую форму? –

+0

Я не могу, потому что этот код ассоциирован с элементом управления, размещенным в form2 –

+0

, это asp.net –

ответ

1

EDIT:

Вам необходимо сохранить ссылку на 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); 
+0

Я не могу переместить код в form1, потому что этот код должен запускаться нажатием кнопки, помещенной в форму 2 –

+0

@vincenzolopalo Вы не можете добавить событие в Form2 и обрабатывать его в Form1? –

Смежные вопросы