我正在处理我的项目并自动发送电子邮件,但是我的表单受到影响并冻结,直到处理完成。如何在不冻结当前窗口的情况下工作?我正在研究VB.Net。防止表单冻结
防止表单冻结
回答
您发送的电子邮件代码与UI线程同步运行。您需要在单独的线程上运行该代码以维护UI响应。
看看下面让你开始:
Safe, Simple Multithreading in Windows Forms, Part 1
Multithreading in Windows Forms Controls
第一个链接是很老,但它显示了如何完成你正在使用的Thread类尝试。如果你不关心与表单同步并在控件上设置属性,那么这将做你想要的。但是,我更喜欢第二个链接...
第二个链接使用BackgroundWorker。这是最好的方法,至少对我而言。如果您不关心收到该流程的通知(在这种情况下发送电子邮件),您可以随时忘记并完成。但是,使用此类,您还可以直接使用表单,并且它是BackgroundWorker的RunWorkerCompleted事件中的控件。
目前正在看它先生。 –
任何人都在意解释我的回答没有用处? –
我没有downvote,但它可能是由于几个原因。有些人喜欢看到世界在燃烧。 2.这是一个很糟糕的问题,通过回答你保持问题的存在3.你真的没有提供任何你的答案中的链接的上下文。链接可能会死亡,如果他们做的内容与他们一起死去。 – Bugs
- 1. 防止表单冻结
- 2. 防止cmdlet冻结powershell
- 3. 防止调用冻结形式的AddRange
- 4. 避免dequeueReusableCellWithIdentifier以防止UITableViewCell冻结
- 5. 防止服务器超载冻结 - linux
- 6. 如何防止我的JFrame冻结?
- 7. 如何防止短暂冻结视图
- 8. 如何防止可可粉冻结?
- 9. 在重建WPF UI时防止冻结?
- 10. 如何防止使用QThread冻结GUI?
- 11. tkinter按钮单击以启动线程以防止GUI冻结
- 12. IBquery在执行查询时冻结主窗体 - 如何防止冻结?
- 13. 为什么表单冻结?
- 14. 冻结调用阻止表单关闭调用
- 15. 防止UI冻结而无需其他线程
- 16. 防止GUI冻结,并有键取消操作/杀死线程
- 17. 如何防止等待加载谷歌地图时冻结
- 18. 锁定或冻结VBA代码以防止编辑
- 19. 如何在使用HttpWebRequest时防止UI冻结?
- 20. 防止Facebook在SDK测试期间冻结帐户?
- 21. 防止用户界面在处理数据时被冻结
- 22. 如何防止tkinter冻结,当我点击其他地方?
- 23. 防止UI由于ajax调用而被冻结
- 24. 如何冻结HashMap以防止进一步的更改?
- 25. 我应该怎么做才能防止UI冻结(scheduledexecutorservice)
- 26. VB.NET使用BackgroundWorker来防止UI冻结 - 替代方法?
- 27. Javascript:防止浏览器在调用服务器时被冻结
- 28. 防止表单域呈现
- 29. 使用jQuery防止表单
- 30. 防止表单提交
我在youtube上发现了一个关于backgroundworker的视频,并开始处理它。我希望它能解决我的问题。 –
https://www.youtube.com/watch?v=jv4FdoaUMQE –
有很多资源比youtube更好 - 例如MSDN,以及这里的问题。大多数YouTube视频将其降低为魔法(伴随着糟糕的音乐) - 点击此处;键入这个;点击这里;键入这个。你最终根本不知道它做了什么,为什么有些事情是这样或那样,或者是你知道关于你正在使用的技术的关键所在。 – Plutonix