如何在Linux上的C#控制台应用程序中隐藏游标?
问题描述:
我正在写一个C#应用程序,它运行在Mono的Linux上,我想隐藏控制台光标。但是由于这个Console.CursorVisible = false
似乎什么也没有做,所以还有另外一种做法,例如一个控制台命令还是一个本地函数?如何在Linux上的C#控制台应用程序中隐藏游标?
答
这在很大程度上取决于你使用的终端/壳型,但在OS-X的iTerm或在此终端是bash我如何做到这一点:
public static void Main(string[] args)
{
Process.Start("tput", "civis -- invisible");
Console.WriteLine("Hello World!");
Console.Read(); // no cursor
Process.Start("tput", "cnorm -- normal");
Console.Read(); // with cursor
}
这应该很好地工作在Linux/bash和也可能是其他人,因为它使用的是数据库,如果没有,我会检查你的terminfo数据库中是否有缺失的元素。
如果它不起作用,请提交Mono项目的错误报告。这在WIndows上正常工作。它调用本地'SetConsoleCursorInfo'函数。 –