主题:[讨论]关于多线程操作
我编写了一个多线程类,其中有一个在线程中使用的事件,当我在窗体中使用这个事件的时候报告我错误
类代码线程部分代码如下:
public class myTr
{
public delegate void myDel(object sender, string a);
public event myDel myEve;
public CustomControl1()
{
InitializeComponent();
}
private void sdd()
{
myDel a;
a = new myDel(ddd);
object[] s = new object[2];
s[0] = this;
s[1] = "ccccc";
this.BeginInvoke(a,s);
}
private void ddd(object sender,string a)
{
if (myEve != null)
myEve(sender, a);
}
public void runData()
{
Thread s = new Thread(sdd);
s.Start();
}
public IAsyncResult BeginInvoke(Delegate method, object[] args)
{
method.DynamicInvoke(args);
return null;
}
}
如何实现再窗体中使用myEve事件调用Label控件的Text属性
我不要再事件中调用Lable控件的BeginInvoke方法或者Invoke方法
有人能够解决这个问题么?
类代码线程部分代码如下:
public class myTr
{
public delegate void myDel(object sender, string a);
public event myDel myEve;
public CustomControl1()
{
InitializeComponent();
}
private void sdd()
{
myDel a;
a = new myDel(ddd);
object[] s = new object[2];
s[0] = this;
s[1] = "ccccc";
this.BeginInvoke(a,s);
}
private void ddd(object sender,string a)
{
if (myEve != null)
myEve(sender, a);
}
public void runData()
{
Thread s = new Thread(sdd);
s.Start();
}
public IAsyncResult BeginInvoke(Delegate method, object[] args)
{
method.DynamicInvoke(args);
return null;
}
}
如何实现再窗体中使用myEve事件调用Label控件的Text属性
我不要再事件中调用Lable控件的BeginInvoke方法或者Invoke方法
有人能够解决这个问题么?