当前位置:  开发笔记 > 编程语言 > 正文

是否有C#/ .NET的跨平台GUI框架?

如何解决《是否有C#/.NET的跨平台GUI框架?》经验,为你挑选了4个好方法。

让我们说只是为了它的乐趣,我决定不再用Java编写桌面应用程序,而是想切换到使用C#.我希望能够构建一个将在某些主流Linux发行版上运行的应用程序,以及最近发布的MS Windows.它将有一个GUI组件.

在Java中,我可以构建一个使用Swing的应用程序.一旦我有它工作,我可以将该jar文件从Windows复制到Linux,反之亦然,这取决于我开发它的位置.它通常会运行java -jar myapp.jar.

在C#中可以这样做吗?在C#中是否有与Swing或AWT相同的功能?



1> Curtis..:

还有Eto.Forms(在github上),它是WPF,WinForms,GTKMonoMac/Cocoa之上的抽象层- 因此您可以在所有平台上获得本机UI,而无需为每个平台重新实现.您不必受最低公分母的影响,因为您可以为每个平台实现细节(如果需要,但不是必需的).

它的优势在于它是纯.NET并且仅依赖于操作系统提供的依赖性,而不是使用GTK或WxWidgets,您必须为各种平台捆绑本机二进制文件.



2> Joel Coehoor..:

可能GTK#将是最接近的.

我知道其他人说单音,但那不太对..Net是单声道,因为微软的Java VM是Sun的Java运行时.mono并不像Swing那样处于同一个概念空间.为此,GTK#是一个更接近的匹配.


我知道你在说什么,在他的问题中他询问了AWT或Swing - 但我认为他真正要问的是"我怎样才能编写跨平台的C#应用​​程序?".

3> Rob..:

我相信WinForms的很大一部分是在Mono中实现的.你需要在Linux下安装Mono.但是,您可能遇到兼容性问题,因为Mono不是Microsoft的努力,也不是他们的正式支持.


是的,但这是一个非常*良好的社区努力,当我做一些完全荒谬的事情时,我只看到兼容性问题(评论太短暂无法描述:D).正常的桌面编程通常都很好.
据我所知,所有WinForms 2.0都已实现.

4> Greg Campbel..:

此页面包含Mono支持的GUI工具包列表,包括每个工具包的优缺点.正如其他人所说,WinForms,GTK#和wxNet都是可行的选择.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有