使用滚动条会中断控制台应用程序

本文关键字:控制台 应用程序 中断 滚动条 | 更新日期: 2023-09-27 17:56:54

目前,当我在 c# 控制台应用程序上使用滚动条时,它似乎会停止/中断应用程序,直到我"放开"滚动条。

有没有办法防止这种情况发生?

使用滚动条会中断控制台应用程序

这是我刚刚引用的一篇旧帖子,它解释了在cmd提示符中使用滚动条时的暂停:

"从技术上讲,当您按住滚动条时,仅显示输出会暂停:控制台子系统暂时停止从输出缓冲区读取并显示它。但是,该进程仍在运行,并且所述输出缓冲区很快就会填满,只要缓冲区已满,所有进一步的 write() 的"块"就会出现。这就是使该过程似乎暂停的原因。

(请注意,有两个不同的组件 – 控制台窗口和内部运行的程序。"命令提示符"只是cmd.exe命令解释器,但窗口和滚动条由CSRSS显示。

这是帖子的链接:https://superuser.com/questions/344262/windows-command-prompt-pause-during-mousedown

您需要在另一个线程中运行长时间运行的代码,然后在需要时写入控制台 - 请参阅这篇文章:在控制台应用中使用 .NET BackgroundWorker 类