2014-09-26 1 views
2

Я работаю над формой окна, я создаю текстовые поля на кнопке «Добавить больше», поэтому хочу получить значение текстового изменения для каждого текстового поля.C# winform динамически создаваемые текстовые поля событие (textChanged) не запускается

Вот мой код:

private void button1_Click(object sender, EventArgs e) 
{ 
    // I created text box wc 
    TextBox wc = new TextBox(); 

    // now bind it with textchanged event 
    wc.TextChanged += wc_TextChanged; 
    } 
    void wc_TextChanged(object sender, EventArgs e) 
    { 
     var box = (TextBox)sender; 
     label1.Text = box.Text; 

    } 

Я попытался это, но на текст изменения каждой коробке его не уволят,

Благодаря

+5

Если вы не добавляете их в форму, вы даже не видите их – Steve

+0

Я добавил их в форму, не упомянул код для этого –

+0

показать нам еще код – Postlagerkarte

ответ

0

Вы должны добавить событие и Textboxes

private TextBox wc; 
Form() 
{ 
    InitializeComponent(); 
    wc = new TextBox(); 
    wc.TextChanged += wc_TextChanged; 
    wc.Visible = false; 
    Controls.Add(wc); 
} 
private void button1_Click(object sender, EventArgs e) 
{ 
    wc.Visible = true; 
} 

Элементы управления должны быть добавлены всегда, вы должны контролировать видимость o f контроль!

+0

не получаю вашу точку –

+0

@hasanfarooq Я делаю редактирование проверять его, даже объяснять. – mybirthname

1

Вы должны добавить его в form, а также:

// I created text box wc 
TextBox wc = new TextBox(); 

// now bind it with textchanged event 
wc.TextChanged += wc_TextChanged; 

this.Controls.Add(wc); 
0

его работает отлично для меня

private void button1_Click(object sender, EventArgs e) 
    { 
     TextBox wc = new TextBox(); 

     this.Controls.Add(wc); 

     wc.TextChanged+=wc_TextChanged; 

    } 

    void wc_TextChanged(object sender, EventArgs e) 
    { 
     //var box = (TextBox)sender; 
     MessageBox.Show("TEXT CHANGED"); 

    } 

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

  • Нет связанных вопросов^_^