猿问

C# 子线程访问主窗体控件

我用C# 编写了一个主窗体,里面通过按钮控制打开一个新线程:
private void serverstart_Click(object sender, EventArgs e)
{
thThreadRead = new Thread(new ThreadStart(Listen));
thThreadRead.Start();//启动线程 
}
线程里面我想对主窗体中的Listbox进行操作(add添加数据),直接操作控件的话会出错,请问该怎么操作?
那么这个obj该如何创建呢?对不起,我有新手,又点笨,不是很清楚,能说详细点吗?

慕无忌1623718
浏览 344回答 4
4回答

饮歌长啸

可以创建一个listbox对象obj,obj赋值为主窗体中的listbox,在线程里判断obj 是否为null不是则可以使用.就不会出错.在From类中添加private System.Windows.Forms.ListBox obj;在From 的Load事件中添加obj=this.ListBox1(根据你的名称改变)在线程中使用前用if(obj!=null){//有效才使用}
随时随地看视频慕课网APP
我要回答