将信息从类传递到Winforms表单

时间:2010-04-28 01:14:46

标签: c# winforms

如何将我的类中的行信息传递到应用程序的Windows窗体中的网格?行信息时不时变化,我需要将此更新信息传递给表单

1 个答案:

答案 0 :(得分:3)

您可以在类中公开表单类可以订阅的事件。触发该事件时,表单可以根据需要更新UI。例如:

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事件。