【问题标题】:Using the Scrollbar interrupts the Console Application使用滚动条会中断控制台应用程序
【发布时间】:2013-01-30 17:33:31
【问题描述】:

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

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

【问题讨论】:

  • 我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
  • 你需要推理如果它不这样做会发生什么。当程序快速添加新行时,用户将如何查看先前的输出?功能,而不是错误。试试按 Ctrl+S 顺便说一句。

标签: c# console scroll scrollbar console-application


【解决方案1】:

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

“从技术上讲,当您按住滚动条时,只会暂停显示输出:控制台子系统会暂时停止从输出缓冲区读取并显示它。但是,进程仍在运行,并且所述输出缓冲区很快就会填满,这使得所有只要缓冲区已满,就会继续 write() 的“阻塞”。这就是使进程看起来暂停的原因。

(请注意,这里有两个不同的组件——控制台窗口和其中运行的程序。“命令提示符”只是 cmd.exe 命令解释器,但带有滚动条的窗口由 CSRSS 显示。”

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

【讨论】:

    【解决方案2】:

    您需要在另一个线程中运行长时间运行的代码,然后在需要时写入控制台 - 请参阅此帖子:Using .NET BackgroundWorker class in console app

    【讨论】:

    • 我不确定我是否能看到这如何解决问题。
    猜你喜欢
    • 2011-11-10
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2014-10-15
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    相关资源
    最近更新 更多