如何避免Gui Lock

时间:2009-10-16 08:27:42

标签: c# user-interface gtk#

我正在开发一个桌面应用程序。我有一个按钮,点击后调用一些web服务。

问题是当没有连接或连接速度慢时,界面变得没有响应,似乎应用程序崩溃了。

想知道解决这个问题的技巧是什么

7 个答案:

答案 0 :(得分:5)

您应该使用BackgroundWorker

答案 1 :(得分:2)

您可以对Web服务进行异步调用。这意味着GUI不会等待响应。

答案 2 :(得分:2)

您需要调查多线程。

通过创建线程并对其执行处理,您将保持UI响应。

请参阅此MSDN article作为起点。

答案 3 :(得分:2)

您可以使用线程发出WS请求,并保持接口线程的自由和响应。您应该在等待时通过显示适当的消息和进度指示器来通知用户。 Here是特定于GTK #UI更新的内容。

答案 4 :(得分:1)

使用BackgroundWorker类来调用Web服务。

答案 5 :(得分:1)

我告诉自己一些非常相似的事情。见post

BackgroundWorker是你的朋友!

答案 6 :(得分:0)

另见this FAQ (and answer),尤其是关于GTK +“闲置”系统的讨论。