c# - 是否可以防止控制台的某些部分在 .NET 中滚动?
问题描述
图 1:底部是滚动的,而顶部是静止的。
所以我正在编写一个 CLI .NET Core 应用程序。
图像的顶部保持不动,而底部则在顶部下方滚动。
如果可以更直接地访问控制台,那将相当容易。但正如我们在 C# 中一样,我所知道的不存在这样的(跨平台)访问。
那么,在没有平台锁定的情况下,我如何在这里实现预期的目标?
解决方案
如果它能给你一个想法,你可以试试这个。基于这篇文章C# 控制台:如何使控制台自动停止滚动?.
static readonly int maxLine = 10;
static int currentLine = 0;
static void Main(string[] args)
{
setHeader();
while (true)
{
writeLine("Please type and enter:");
string value = Console.ReadLine();
writeLine($"Your input is: {value}");
writeLine($"Current Line: {currentLine}");
if (currentLine > maxLine)
{
resetCursorPosition();
writeLine($"Your input is: {value}");
writeLine($"Current Line: {currentLine}");
}
}
}
private static void writeLine(string value)
{
Console.WriteLine(value);
currentLine = currentLine + 1;
}
private static void resetCursorPosition()
{
Console.Clear();
Console.SetCursorPosition(0, 0);
currentLine = 0;
setHeader();
}
private static void setHeader()
{
writeLine("----------------------------------------------");
writeLine("---------------MY CUSTOM HEADER---------------");
writeLine("----------------------------------------------");
}
推荐阅读
- android - 如何只从图库中挑选视频?
- python - Python 包与项目命名约定
- opennms - OpenNMS 服务无法启动 - 读取 JAVA SDK 10.0.2 时出错
- matlab - 在 Matlab 中以不同的文件格式保存图像名称和边界框坐标
- sql-server - 为什么我有这些联系?
- postgresql - PostgreSQL 无法连接到服务器:连接被拒绝
- elixir - Elixir 在两个列表中找到第一个匹配元素
- jenkins - 使用 SSH 连接运行命令时无法签署 App Store IPA
- javascript - TSLint 错误“在这个简单的迭代中,期望一个 'for-of' 循环而不是一个 'for' 循环”
- amazon-web-services - 如何从 CloudFormation 中的 Elastic Beanstalk 环境中提取负载均衡器名称