我想学习是否有另一种(更快的)方法使用C#.net将文本输出到控制台应用程序窗口,而不是使用简单的Write,BackgroundColor和ForegroundColor方法和属性?我了解到每个单元格都有背景颜色和前景色,我想比使用上面提到的方法更快地缓存/缓冲/写入.
也许使用Out缓冲区有一些帮助,但我不知道如何将颜色编码到流中,如果这是颜色数据所在的位置.
这是一个基于retrostyle文本的游戏,我想要实现,我使用标准颜色和ascii字符来布局游戏.
请帮忙 :)
更新:
Out和缓冲区可能不是我需要弄乱的东西.似乎有一个控制台拥有的屏幕缓冲区.我不知道如何访问它,也许我只是运气不好,除非我导入一些dll.
F11在 Windows 10 中,可以通过按或Alt+将控制台应用程序切换到全屏模式Enter。请注意,这不是 Windows Vista 之前支持的纯文本 VGA 全屏模式。尽管在此模式下没有可见的任务栏或标题栏,但其他窗口(或“开始”菜单)可以在其顶部弹出,并且它是 Windows GUI 的一部分。
我有一个在 Windows 10 上运行的 .NET Core / C# 控制台应用程序。当我需要将其切换到全屏模式时,我使用 P/Invoke 将击键发送F11到我自己的窗口,然后将其置于前台。显然,如果应用程序之前已经手动切换到全屏模式,它不会执行我想要的操作,但我可以尝试通过对窗口大小进行一些计算来检测它来解决它。
我正在寻找一种不那么迂回的方法来做到这一点。我想知道: