Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 当我单击按钮(C#)时,应用程序窗口冻结_Winforms_Visual Studio 2010_Freeze - Fatal编程技术网

Winforms 当我单击按钮(C#)时,应用程序窗口冻结

Winforms 当我单击按钮(C#)时,应用程序窗口冻结,winforms,visual-studio-2010,freeze,Winforms,Visual Studio 2010,Freeze,我正在开发一个Windows应用程序,它: 连接到FTP和发送/接收文件 通过SSH连接到服务器并发送命令 创建Excel报表 还有其他一些东西 所有这些任务都是在用户单击按钮时开始的。问题是,单击按钮后: 光标变成手形图标 窗口冻结,用户无法执行任何操作(甚至移动它) 即使是“请稍候”动画也不会播放,进程日志也很少显示 我该怎么办 您需要在后台线程上完成工作。开始使用后台线程的最简单方法是 在后台线程上工作时,如果要更新GUI组件,则需要调用主线程。后台工作程序有一个方法,允许您执行

我正在开发一个Windows应用程序,它:

  • 连接到FTP和发送/接收文件
  • 通过SSH连接到服务器并发送命令
  • 创建Excel报表
  • 还有其他一些东西
所有这些任务都是在用户单击按钮时开始的。问题是,单击按钮后:

  • 光标变成手形图标
  • 窗口冻结,用户无法执行任何操作(甚至移动它)
  • 即使是“请稍候”动画也不会播放,进程日志也很少显示


我该怎么办

您需要在后台线程上完成工作。开始使用后台线程的最简单方法是

在后台线程上工作时,如果要更新GUI组件,则需要调用主线程。后台工作程序有一个方法,允许您执行此操作


阅读线程的基础知识并试一试。如果遇到问题,请返回并发布一个新问题,其中包含特定的代码示例。

您需要在后台线程上完成工作。开始使用后台线程的最简单方法是

在后台线程上工作时,如果要更新GUI组件,则需要调用主线程。后台工作程序有一个方法,允许您执行此操作

阅读线程的基础知识并试一试。如果遇到问题,请返回并发布带有特定代码示例的新问题