| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:一个多线程的问题
只看楼主 加入收藏
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
快速回复:一个多线程的问题
数据加载中...
 
   



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

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