使用控制台应用程序时,Console.Readline会从主线程放弃对UI的处理,并且仅在触发按下输入按钮等事件时才会继续。如何在Windows窗体应用程序中复制此功能(在这种情况下使用Window窗体作为UI)?
答案 0 :(得分:2)
你不能直接这样做。
但是,您可以通过调用Invoke
来完成此操作,正如我所描述的那样here。
答案 1 :(得分:1)
使用form.ShowDialog()而不是form.Show()
这不会停止线程,但它会阻止用户在UI中执行其他操作,直到窗口关闭。
答案 2 :(得分:0)
现在您已经解释了您想要做的事情......
最好使用BackgroundWorker,保持GUI处于活动状态,但禁用并显示进度条+取消按钮,直到完成。