2010-04-28 3 views

ответ

3

Вы можете открыть мероприятие в своем классе, на которое может быть подписано класс формы. Когда это событие запускается, форма может обновлять пользовательский интерфейс по мере необходимости. Например:

class ChildForm : Form 
{ 
    public event EventHandler TextChanged; 

    public string NewText { get { return textBox1.Text; } } 

    void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     EventHandler del = TextChanged; 
     if(del != null) 
     { 
      del(this, e); 
     } 
    } 
} 

class MainForm : Form 
{ 
    void Foo() 
    { 
     using(ChildForm frm = new ChildForm) 
     { 
      frm.TextChanged += (object sender, EventArgs e) => { label1.Text = frm.NewText; }; 
      frm.ShowDialog(); 
     } 
    } 
} 

Вы не могли бы на самом деле просто передать событие TextBox.TextChanged право не до конца в этом примере.

+0

В моем случае ChildForm не является формой. Могу ли я сделать что-то подобное? –

+0

Да, это всего лишь пример, концепция такая же. –

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