用于Mono的Winforms或XWT GUI设计器

本文关键字:GUI XWT Mono Winforms 用于 | 更新日期: 2023-09-27 18:13:07

我是编程新手,我对使用Mono在c#中开发应用程序很感兴趣。我想选择一个GUI框架以外的GTK+:要么WinForms或XWT (https://github.com/mono/xwt)。

是否有一个设计器来设计WinForms gui ?那么XWT呢?我使用MonoDevelop作为我的IDE。

如果没有WinForms或XWT的设计器,你认为有可能在。net中使用Visual Studio 2012与WinForms使用c#编写应用程序,并在我想部署时使用Mono进行编译吗?

用于Mono的Winforms或XWT GUI设计器

这可能是两个问题。

1)。我的Mono GUI RAD选项是什么?

如果你想要一个Mono GUI RAD你的唯一的选择是gtk#据我所知。

如果你想要一个Windows的GUI RAD。窗体,它被称为Visual Studio(或潜在的VS Express for Desktop in Win8),需要Windows/在MonoDevelop之外工作。,)好的一面是,它是一个非常好的 GUI RAD。

2)。什么GUI框架最适合编写一次并在任何地方运行?

gtk#。不幸的是,Mono的Windows。表单不能很好地工作,是一个死胡同技术。查看这里类似的问题。

正如我在回答中提到的那样,如果您想在Mono中编写针对多个操作系统的实用程序(或者您以linux为中心),您可能确实需要gtk#。如果你想创建一个传统的客户端应用程序,准备在每个目标平台上重写你的GUI。

编辑:在类似的主题上少一些裙带关系的问题。

Edit2: 一个Mono WinForms设计器,我在这里忘记了,但它的描述很容易承认,"不幸的是,这个设计器还没有准备好正确使用,"他们提到的阻塞错误是从2007年开始的,所以没有多大帮助。

祝你好运!

看看目前由Xamarin驱动的mono方向,他们为每个平台推广原生UI。意味着您为每个目标平台编写业务流程作为单独的项目和GUI。至于桌面,最好使用XWT,因为您将使用类似的API访问每个平台中的本机UI,而不会失去为每个平台添加更高级UI的能力。

XWT API是基于gtk# API (Xamarin的人很容易迁移他们现有的应用程序),并提供了许多通用的小部件/控件实现每个目标平台(Windows的WPF, Mac的Cocoa, Linux的GTK)。此外,它更容易添加高级/自定义小部件并托管在XWT中,因为它实际上就像托管在每个平台的本机工具包中

更新:

关于Winform已经回答了,对于XWT似乎还没有设计器,但对于部署,只是创建项目XWT GUI(共享所有XWT GUI), XWT。WPF(用于windows的XWT启动器)和XWT。Cocoa(用于Mac的XWT MonoMac应用程序)。但是每个启动器只能在每个平台上编译