我有一个GUI,允许用户添加tabpages到选项卡控件。每次用户添加一个选项卡时,用户控件都会放在新选项卡上。用户控件上有一个后台工作者以及其他几个控件。我的问题是:我可以访问特定于tabpage的背景工作吗?换句话说,我能告诉程序使用tab索引0上的backgroundworker来运行一个进程,然后告诉后台工作人员在tab索引1上运行一个不同的进程吗?如何在tabpage上的用户控件上引用backgroundworker?
1
A
回答
0
也许你可以有BackgroundWorkers列表,每次你在C#中添加创建一个新的工作是这样的一个标签
public class Foo : Form{
List<BackgroundWorkers> bgs;
......
void AddNewTab(DoWorkEventHandler bw_DoWork, RunWorkerCompletedEventHandler bw_RunWorkerCompleted, ProgressChangedEventHandler bw_ProgressChanged)
{
//bgs was initialized in the ctr
var bw = new BackgroundWorker();
bw.WorkerReportsProgress = true;
bw.WorkerSupportsCancellation = true; ;
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
bgs.Add(bw)
}
.....
void ExecuteBackgroundWorker(int tabindex)
{
bgs[tabindex].RunWorkerAsync();
}
void ExecuteBackgroundWorkerTask(int tabindex, DoWorkEventHandler bw_DoWork)
{
bgs[tabindex] += new DoWorkEventHandler(bw_DoWork);
bgs[tabindex].RunWorkerAsync();
}
}
类似的东西.....但翻译成vb.net。 ...
+0
是的,也许这是一个更好的建议。 – user686059 2011-03-31 17:25:50
+0
:) ~~我必须输入至少15个字符~~ – jjchiw 2011-03-31 19:08:26
相关问题
- 1. 如何获取用户控件数据类型所在的TabPage
- 2. 如何在嘲笑的BackgroundWorker上引发事件?
- 3. asp.net vb用户控件在调用页面上引发事件
- 4. 如何在用户控件上访问托管窗体上的控件WinForm
- 5. 在tabpage中的foreach控件
- 6. 如何引用silverlight用户控件?
- 7. 如何将控件放到用户控件的面板上?
- 8. 如何使用Applescript在用户桌面上引用文件
- 9. 用户控件上的访问控制
- 10. 如何查找在网页上引用的ActiveX控件?
- 11. Tabpage控件离开
- 12. 如何在C#页面上使用VB用户控件?
- 13. 如何在函数上传递我自己的用户控件
- 14. Web用户控件在另一个用户控件上调用事件
- 15. 在用户控件上绑定gridview
- 16. 在autopostback上保留用户控件asp.net
- 17. c#在用户控件上绘制linklabel
- 18. 如何使一个asp.net用户控件上的jQuery ajax调用
- 19. 上母体形式的用户控制创建用户控件
- 20. 如何在用户角色上设置用户控件的可见性
- 21. 如何在C#中的浏览器控件上对齐用户控件位置
- 22. 如何在自己的代码中引用用户控件?
- 23. 如何在子控件上使用WS_EX_LAYERED
- 24. TabPage上的控件莫名其妙地变化
- 25. 不可见的tabpage(选项卡控件)上的控件返回Visible = false
- 26. BackgroundWorker引发的事件未在预期线程上执行
- 27. 用户控件上的Func属性
- 28. 用户控件上的DependencyProperty转换器
- 29. 用户控件上的NullReferenceException句柄
- 30. 用户控件上的Asp.Net jquery
相当奇怪,但我想你可以将BGW公开为用户控件的属性。 – 2011-03-31 16:35:10