【发布时间】:2011-07-02 01:15:12
【问题描述】:
我想知道 .NET 中是否有可以轻松编写控制台用户界面的库。例如,想象一个 WinForms 应用程序,用户可以:
- 浏览菜单
- 响应对话框
然后应用程序会显示几行文本。
可以证明,此类应用程序中的 GUI 可以毫无问题地映射到相应的 CUI。
那么,如果必须坚持使用控制台,那么是否有任何 .NET 工具可以让您轻松编写此类 CUI?
EDIT1
让我定义一个约束,它应该可以帮助人们掌握 CUI 的概念。想象一台机器,您可以在其上打开远程控制台,但不能打开 RDS。因此,在该机器上远程运行 GUI 应用程序是不可能的,因为它将无法打开任何窗口。但是,可以有一个远程控制台,给我们留下两种可能的 CUI:
- 基于字符的图形,如旧超市终端
- 完全基于文本。
第一个选项允许将字符放置在控制台窗口的任意位置。 ncurses 是 *nix 系统的低级库,允许执行此类操作。以这种方式创建的 CUI 可以非常有表现力和方便,但为了我们的讨论,让我也排除这个选项,因为远程控制台不太可能支持在控制台窗口中移动的能力。
因此,这给我们留下了基于文本的 CUI,它是通过 printf 和仅 scanf(以及类似方法)创建的。
EDIT2
另一个澄清:我在问题中提到了 Windows 窗体作为简单用户界面的示例,它没有什么特别之处不能转换为基于文本的控制台 UI。这只是为了说明菜单和模式对话框等简单的 GUI 元素可以在控制台中建模,而无需借助窗口。
【问题讨论】:
-
Hello World 之外的任何稍微复杂的 WinForms 应用程序都将是通过 CLI 导航的噩梦。不确定这是一个假设性问题还是您想要实施的想法......如果这是一个实施想法,我会寻找其他替代方案。
-
不清楚您要做什么。您是在尝试编写基于字符的 GUI、支持菜单的命令行应用程序还是完全其他的东西?
-
我也不清楚你在追求什么。我的第一次阅读认为您希望 WinForms 控件具有将自身呈现为文本的替代能力。
-
您想要一个基于提示的界面吗? (类似于 DOS/命令提示符)
-
For instance, imagine a WinForms application, where the user can: Navigate the menus Respond to dialogs And the application in return displays several lines of text.和but for the sake of our discussion let me rule this option out as well,。你很有趣,你知道吗? 想象一下... 现在算了吧! :-)
标签: .net windows console console-application