目前,当我在c#console应用程序上使用滚动条时,似乎暂停/中断应用程序,直到我“松开”滚动条。
有没有办法防止这种情况发生?
答案 0 :(得分:1)
这是我刚刚引用的一篇旧帖子,它解释了在cmd提示符中使用滚动条时的暂停:
“从技术上讲,只有在您按住滚动条时才会暂停显示输出:控制台子系统暂时停止从输出缓冲区读取并显示它。但是,进程仍在运行,并且所述输出缓冲区填满非常快,这使得所有只要缓冲区已满,就会进一步写入()的“块”。这就是使进程看起来暂停的原因。
(请注意,有两个不同的组件 - 控制台窗口和内部运行的程序。“命令提示符”只是cmd.exe命令解释程序,但CSRSS显示窗口和滚动条。“
以下是帖子的链接:https://superuser.com/questions/344262/windows-command-prompt-pause-during-mousedown
答案 1 :(得分:0)
您需要在另一个线程中运行长时间运行的代码,然后在需要时写入控制台 - 请参阅此帖子:Using .NET BackgroundWorker class in console app