我有一个winforms应用程序,它按以下方式设置:2个按钮,一个文本框,一个类对象MX,其中集合K为其成员,函数X和另一个函数Y.
我想通过工作线程调用函数X,方式如下:
上述环境最有效的实施方式是什么?
答案 0 :(得分:1)
当您按下按钮1时,您可以使用BackgroundWorker
调用X以在单独的线程中运行它。然后设置一个变量(或灰色按钮1),以便用户不能再次运行X.
X可以在处理数据库时写入自己的集合。然后它可以用此集合替换实例变量。通过只进行一次替换,您可以避免X和UI线程之间的同步问题。
X完成后,您可以使用BackgroundWorker
事件让UI知道操作已完成。然后重置相同的变量(或按钮),让用户知道他们现在可以再次运行X - 如果需要的话。