如何在Linux上的C#控制台应用程序中隐藏游标?

问题描述:

我正在写一个C#应用程序,它运行在Mono的Linux上,我想隐藏控制台光标。但是由于这个Console.CursorVisible = false似乎什么也没有做,所以还有另外一种做法,例如一个控制台命令还是一个本地函数?如何在Linux上的C#控制台应用程序中隐藏游标?

+0

如果它不起作用,请提交Mono项目的错误报告。这在WIndows上正常工作。它调用本地'SetConsoleCursorInfo'函数。 –

这在很大程度上取决于你使用的终端/壳型,但在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数据库中是否有缺失的元素。