Mono的Winforms或XWT GUI设计器?

时间:2013-05-10 16:19:53

标签: c# .net winforms user-interface mono

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

是否有设计人员设计WinForms GUI? XWT的一个怎么样?我使用MonoDevelop作为我的IDE。

如果WinForms或XWT都没有设计人员,您是否认为可以使用Visual Studio 2012使用WinForms在.NET中使用C#编写应用程序,并在我想部署时使用Mono编译它?

2 个答案:

答案 0 :(得分:5)

这可能是两个问题。

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

如果您想要Mono GUI RAD,那么选择就是我所知道的GTK#。

如果你想要一个用于Windows.Forms的GUI RAD,它可以称为Visual Studio(或者可能是Win8中的VS Express for Desktop),并且需要Windows /在MonoDevelop之外工作。 ;)在正面,它是非常好的 GUI RAD。

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

Gtk#的。不幸的是,Mono的Windows.Forms不能很好地工作,并且是一个死胡同的技术。请参阅here for a similar question

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

编辑:关于类似主题here的较少裙带关系的问题。

Edit2:一个Mono WinForms设计师,我忘记了here,但它的描述很容易承认,“不幸的是设计师尚未准备好正常使用”,并且阻止他们引用is from 2007的错误,所以帮助不大。

祝你好运!

答案 1 :(得分:4)

观察由Xamarin驱动的单声道的当前方向,他们提升了每个平台的原生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(XWT MonoMac应用程序苹果电脑)。但每个启动器只能在每个平台上编译