标题:一个多线程的问题
只看楼主
iaxk
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-11-18
 问题点数:0 回复次数:0 
一个多线程的问题
我定义了一个类Messager,在该类中定义有一个事件,当收到新消息时触发.
public delegate void NewMessageEventHandler(object sender, NewMessageEventArgs fe);
public event NewMessageEventHandler NewMessageEvent;

public void PopNewMessage(int i)
{
if(NewMessageEvent!=null)
{
NewMessageEventArgs fe=new NewMessageEventArgs(i);
NewMessageEvent(this, fe);
}
}
同时,在Messager类中定义有一个线程,由该线程循环检索新消息,如果有新消息收到时,则调用PopNewMessage进行处理,也就是触发新消息这个事件.
另外,在窗体中创建了Messager的实例,并且定义了事件处理程序
ms = new Messager();
ms.NewMessageEvent += new Messagr.NewMessageEventHandler(OnNewMessage);

private void OnNewMessage(object sender, NewMessageEventArgs fe)
{
ListBox1.Items.Add(fe.Value);
}
此时,当ms对象收到新消息时,程序提示ListBox1是另一个线程创建的,不能访问
不知道是何原因,如何解决,望各位大侠告知?
先谢过!
搜索更多相关主题的帖子: 线程 
2005-11-18 15:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-34044-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105617 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved