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