2013-07-16 3 views
0

Я использую TextChanged-EventHandler Я написал программу в C#, который создает новый TextBox на каждом button1_Click случае Теперь я хочу, чтобы каждый новый TextBox (который был создан), чтобы показать, набранный текст. Как это сделать с помощью EventHandler (TextChanged)?Как заполнить текстовое поле текстом, если он пуст?

namespace WindowsFormsApplication5 
{ 
    public partial class Form1 : Form 
    { 
     Int32 i = 1; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     TextBox c = new TextBox(); 
     this.Controls.Add(c); 
     c.Name = "x" + i.ToString(); 
     c.Left = 3; 
     c.Top = 30 * i; 
     i++; 
     c.TextChanged += new EventHandler(c_TextChanged); 


    } 

    void c_TextChanged(object sender, EventArgs e) 
    { 
     textBox1.Text =   
    } 

} 
} 
+0

Я не уверен, что я правильно понял. Вы имели в виду, что каждый раз, когда вы вводите текст, все текстовые поля должны показывать эти данные? – Kooki

+0

Не все, только первый TextBox Это Существует на форме! – sara

+0

Хорошо, тогда ответ Клеменса/Гермса должен помочь вам ;-), PLS принять один ответ, чтобы отметить проблему, как решена, если она работает для вас – Kooki

ответ

4
void c_TextChanged(object sender, EventArgs e) 
{ 
    textBox1.Text = ((TextBox)sender).Text; 
} 
0

отправитель вашего объекта должно быть текстовое поле. Там вы можете получить нужный текст:

void c_TextChanged(object sender, EventArgs e) 
{ 
    TextBox box = sender as TextBox; 
    if (box != null) 
    { 
     textBox1.Text = box.Text; 
    } 
} 
Смежные вопросы