1. backgroundwork.DoWork事件里能否用 this.Invoke()来修改主线程里的控件?
我想在DoWork事件里,去修改程序上的控件,用this.Invoke()这个方法来修改,可以吗?
2. 还有DoWork不能修改主线程的控件,为什么这段代码却能正常运行? private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
this.label1.Text = "开始";
}这个属性我没动过 CheckForIllegalCrossThreadCalls
3.还有,有时第一个backgroundwork还没执行完时,再次执行backgroundwork 就会报错!!
---此 BackgroundWorker 当前正忙,无法同时运行多个任务。
有什么办法能防止再次执行吗?
我想在DoWork事件里,去修改程序上的控件,用this.Invoke()这个方法来修改,可以吗?
2. 还有DoWork不能修改主线程的控件,为什么这段代码却能正常运行? private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
this.label1.Text = "开始";
}这个属性我没动过 CheckForIllegalCrossThreadCalls
3.还有,有时第一个backgroundwork还没执行完时,再次执行backgroundwork 就会报错!!
---此 BackgroundWorker 当前正忙,无法同时运行多个任务。
有什么办法能防止再次执行吗?
解决方案 »
- 请问怎么获取Webbrowser里的flash对象的Cookie
- C#里面能使用VBA编程吗
- c#导出EXCEL问题
- 恳请各位帮我修改段代码,功能是在窗体上画一个“选择框”,并在有滚动条时能真确的处理“选择框”
- 是什么意思
- 求局域网内部使用的类似QQ的在线聊天工具源代码,解决问题的话再开贴放分
- 在MDI 应用程序中如何判断相同的子窗口已经打开并激活?有没有MDI应用程序的例子?非常感谢!
- 我将一个数据集合的记录填充到datagrid中,然后通过datagrid选中几条记录,想将选中的几天记录写到一个新的数据集的表中,应该如何做?
- 高分求高手帮忙,写了一个程序利用office2007的dll将word、excel、ppt转pdf,win2003下不执行
- 这个TreeView应该如何写比较好??
- RowFilter怎么写in语句啊?
- 正则请教,英格兰{#比分1#}击败了斯洛文尼亚,加纳{#比分2#}负于德国
new Thread((ThreadStart)delegate
{
//DoWork
this.Invoke((EventHandler)delegate{this.label1.Text = "开始";});
}).Start();
---此 BackgroundWorker 当前正忙,无法同时运行多个任务。
有什么办法能防止再次执行吗?一个简单的方法是设置一个静态变量,初值设为true, dowork前先检测,如果是true,就继续,并且把变量设为false, 否则中止, bakcgroundworker发生completed事件时把它设成true
this.richTextBox1.Text += "在现有的zip文件包中找不到需要解压和导入的文本文件,请检查zip包是否正确?或者重新下载后再解压!\n";
2、如上所述,不需要特殊处理,就可以访问主线程的类3、如果你是通过点击按钮后,执行的代码,那么你可以把你的代码重构一下,button中调用一个方法,而且,调用后,就将button.Enabled设置成false,实现点击一次后,必须等待到后台线程处理完毕,在RunWorkerCompleted事件中,重新设置button.Enabled=true;
---此 BackgroundWorker 当前正忙,无法同时运行多个任务。shit,刚发现backgroundworker有个IsBusy属性,直接检测一下就好了