2009-01-30 127 views
2

我真的在考虑将我的下一个项目作为C#/ Mono/Gtk#组合来开始。GTK#常见陷阱

在过去,我从来没有选择GTK,因为用GTK构建的所有东西看起来都很糟糕,当涉及到视觉表示时,我有点偏执。然而,大量的应用程序(认为Banshee,VMWare控制台)已经清楚地证明了我的偏见,并将我对GTK的看法重新塑造为不美观。

我来自Win32 API,[CreateWindowEx] [2s]有太多的hwnd,GTK#提供了一个非常好的API,但如果我需要深入挖掘(扩展控制行为等),它会对我起作用或与我?

我从来没有使用过Mono和GTK,所以“嘿它在Linux和Mac OS上运行”的参数支持像胶水一样粘在我的头骨中,并且会喜欢人们在我的(很可能是)过度简化的视图中跳动一些感觉。

启动时我该怎么办?

回答

4

我遇到的最大问题是缺乏良好的画布控制,您可能需要如果你真的想创建漂亮的用户界面。例如Banshee有一大堆由Aaron Bockover用开罗编写的自定义控件。这个解决方案非常灵活,它需要对Gtk,开罗和其他一切都有深入的了解。 但是,不要以我的意见为耻辱。 Gtk +和扩展Gtk#是一个了不起的环境,使用它很容易快速创建非常具有视觉冲击力的GUI。

+0

感谢您的评论!我将创建自定义控件作为一项挑战和有趣的事情来提供一个体面的环境。 – 2009-05-01 07:31:51

4

既然你提到Banshee是一个启发你的项目,并且它是用C#编写的,也许从浏览它的源代码开始吧?这会让你直观地看到UI代码的外观如何,在一个你已经知道的语言中,它有一个外观和“UI复杂度级别”适合你的口味。

+0

感谢评论我实际上看了GTK +和GTK#的所有源代码和例子,发现它非常干净和可用。我主要关心的是,如果我认为合适并且在漂亮的API层下挖掘,它很容易扩展控件的行为?我会重申我的问题。 – 2009-01-30 09:58:42