定义了一个代理消息,在消息响应函数中listBox1和label1都无法更改属性,而MessageBox.Show却可以正常显示信息!
void glisting_GetMessage(GList.MessageType type, object Data)
{
//throw new Exception("The method or operation is not implemented.");
switch(type){
case GList.MessageType.Connect:
this.label1.Text =Data.ToString();
break;
case GList.MessageType.Close:
this.label1.Text = Data.ToString();
break;
case GList.MessageType.Error:
MessageBox.Show( Data.ToString());
break;
case GList.MessageType.GInit:
this.label1.Text = Data.ToString();
break;
case GList.MessageType.Message:
this.listBox1.Items.Add(Data.ToString());
break;
}
}运行时可以捕捉到以下错误:
Cross-thread operation net valid:Control 'listBox1' assessed from a thread other than the the thread it was created on
这是怎么回事呢,如何解决呢?
void glisting_GetMessage(GList.MessageType type, object Data)
{
//throw new Exception("The method or operation is not implemented.");
switch(type){
case GList.MessageType.Connect:
this.label1.Text =Data.ToString();
break;
case GList.MessageType.Close:
this.label1.Text = Data.ToString();
break;
case GList.MessageType.Error:
MessageBox.Show( Data.ToString());
break;
case GList.MessageType.GInit:
this.label1.Text = Data.ToString();
break;
case GList.MessageType.Message:
this.listBox1.Items.Add(Data.ToString());
break;
}
}运行时可以捕捉到以下错误:
Cross-thread operation net valid:Control 'listBox1' assessed from a thread other than the the thread it was created on
这是怎么回事呢,如何解决呢?
解决方案 »
- 高手请进,100分求:SPRP(斯普瑞特)POS58票据打印机驱动调用程序
- 求一个树形的代码
- c/s模式 订单管理系统 (c#)
- 超郁闷,哭求高手指点
- 在app.config中 数据库密码包含‘&’字符的话 应该怎么处理?
- Windows下的DataGrid中,當某列的連續行值相同時,只顯示最上面那一行
- 请达人指点一下一个无聊的问题,微软为什么搞出这么多命名空间,为什么不就using 一个system就完了
- 在.net2008下javascript的一些异常
- 谁有货币大小写转换的程序啊?请教一下!
- ~~~网络投票问题~~~
- 谁给我解析下C#的多态 ?
- 请教Winfrom里的DataGridView分页怎么写?
http://blog.csdn.net/Knight94/archive/2006/08/24/1111267.aspx
如:
public delegate DelUpdateListBox(string text);public void UpdateListBox(string text)
{
if(!this.InvokeRequired)
{
this.listBox1.Items.Add(Data.ToString());
}
else
{
DelUpdateListBox del = new DelUpdateListBox(this.UpdateListBox);
this.Invoke(del, new object[]{text});
}
}