由于ToolStripMenuItem没有InvokeRequired属性,所以委托事件不知道怎么写。请教!
解决方案
5
请不要截图 谢谢
app.Current.Dispatch.beginInvoke(new Action(()=>{
//跨线程操作
b.Enable = false;
}));
结题拿分
app.Current.Dispatch.beginInvoke(new Action(()=>{
//跨线程操作
b.Enable = false;
}));
结题拿分
10
TSM_select.BeginInvoke(new Action(() =>{ TSM_select.Enabled=b; }));
结贴拿分
5
private delegate void DelegateSelectEnable(bool b);
private DelegateSelectEnable SelectEnableMethod;
public void selectEnable(bool b)
{
TSM_select.Enabled = b;
}
然后在调用这个方法的地方改一下,如下:
if( SelectEnableMethod == null )
this.SelectEnableMethod = new DelegateSelectEnable(this.selectEnable);
bool b = true;
this.BeginInvoke(this.SelectEnableMethod, b);
说明,这里的this指的是当前winForm窗口,
当然也可以是任何一个具体BeginInvoke方法且已经实例化的控件,
private DelegateSelectEnable SelectEnableMethod;
public void selectEnable(bool b)
{
TSM_select.Enabled = b;
}
然后在调用这个方法的地方改一下,如下:
if( SelectEnableMethod == null )
this.SelectEnableMethod = new DelegateSelectEnable(this.selectEnable);
bool b = true;
this.BeginInvoke(this.SelectEnableMethod, b);
说明,这里的this指的是当前winForm窗口,
当然也可以是任何一个具体BeginInvoke方法且已经实例化的控件,