C# 清除.Net核心C中的MacOS终端#
我目前正在开发一个控制台应用程序,我已经设计了我的菜单,使菜单的活动元素以特定的背景色突出显示。要在更改活动元素后重新呈现菜单,我将使用C# 清除.Net核心C中的MacOS终端#,c#,macos,terminal,C#,Macos,Terminal,我目前正在开发一个控制台应用程序,我已经设计了我的菜单,使菜单的活动元素以特定的背景色突出显示。要在更改活动元素后重新呈现菜单,我将使用控制台将光标移动到窗口的最顶部。SetCursorPosition(0,0),然后重写所有行。另外,Console.Clear()方法用于在移动到另一个菜单(可能大小不同)之前清除控制台 但是,这种方法在MacOS上似乎不起作用-Console.Clear()方法不起作用,而Console.SetCursorPosition(0,0)也不起作用-菜单相互重叠,而
控制台将光标移动到窗口的最顶部。SetCursorPosition(0,0)
,然后重写所有行。另外,Console.Clear()
方法用于在移动到另一个菜单(可能大小不同)之前清除控制台
但是,这种方法在MacOS上似乎不起作用-Console.Clear()
方法不起作用,而Console.SetCursorPosition(0,0)
也不起作用-菜单相互重叠,而不是被清除
有没有办法在MacOS上实现这一点,或者是因为MacOS终端的某些功能而无法实现这一点?我的建议是使用 CurseSharp为类Unix系统提供了到
ncurses.h
库的C#绑定。理论上,您应该能够执行ncurses库能够执行的任何操作,包括清除屏幕和设置光标位置