【C#】如何在子线程中显示编辑控件内容

        因为在主函数中,也就是按钮函数中显示编辑框的内容是没有问题的,但是在子线程中,不能定义编辑框类的对象,所以不能直接显示,一方面可以对控件类的对象定义为静态static形式,但是这就好比盖房子,应该先画图纸,在建房子,而将控件类的对象定义为静态static形式就好比直接先开辟空间直接把房子放在那里了,而忽略了先画图纸的过程。虽然运行显示也没什么问题,但是显得不太合理,所以这里介绍一种委托(delegate)的方式,在子线程中显示编辑框内容。

一、在Test()函数中,委托Method()函数传入string类型参数aaa

string aaa = "bbbbbbbbbbbbbb";
delegate void add(string text);//委托     
public void Test()
{

BeginInvoke(new add(Method), aaa);

}
public void Method(string input)
{
//编辑框对象 textBoxShow
 textBoxShow.Text = input;      
   
}

二、按钮函数开启线程,在子线程中显示编辑框信息

private void OpenImage_Click(object sender, EventArgs e)
 {
 
     Thread thread = new Thread(new ThreadStart(Test));
     thread.Start();
     
 }

发布了74 篇原创文章 · 获赞 24 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43197380/article/details/103935561
今日推荐