C#自定义类中操作主窗体控件,通过委托实现

来源:互联网 发布:生命密码测试软件 编辑:程序博客网 时间:2024/06/11 15:32

主窗体中包含一个标签label1和一个按钮button1

代码如下:

public void ChangeLabel(string text){label1.Text = text;}private void button1_Click(object sender, EventArgs e){Thread th = new Thread(() =>{MyClass my = new MyClass();my.ChangeLabel += ChangeLabel;my.ChangeText("hello");});th.IsBackground = true;th.Start();}

自定义MyClass包含一个public方法ChangeText,用于改变标签文字。

代码如下:

public delegate void ChangeLabelEventHandle(string text);public ChangeLabelEventHandle ChangeLabel;public void ChangeText(string text){ChangeLabel(text);}


因为是跨线程调用,最好要加上BeginInvoke()

0 0