GTK#常见的陷阱

时间:2009-01-30 09:26:20

标签: c# mono gtk#

我正在考虑以C#/ Mono / Gtk#组合开始我的下一个项目。

过去我从未选择过GTK,因为用GTK构建的所有内容看起来都很糟糕,在视觉表现方面我有点像强迫症。然而,大量的应用程序(想想Banshee,VMWare控制台)已经清楚地证明我的偏见是错误的,并且重新认为我对GTK的看法是不美观的。

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

我从未使用过Mono和GTK,所以“嘿它在Linux和Mac OS上运行”这个论点在我的头骨中粘得像胶水一样,并且会让人们对我(更可能)过于简化的观点有所了解。

启动时我应该厌倦什么?

2 个答案:

答案 0 :(得分:4)

既然你提到Banshee是一个激励你的项目,它是用C#编写的,或许可以从浏览它的资源开始吧?这将使您能够直观地了解UI代码的外观,在具有外观和“UI复杂程度”的应用程序中,使用您已经熟悉的语言。

答案 1 :(得分:4)

我遇到的最大问题是缺少良好的画布控制,如果你真的想要创建漂亮的UI,你可能需要它。例如,Banshee有一大堆自定义控件,由Aaron Bockover从头开始使用Cairo编写。尽管这个解决方案很灵活,但它需要非常深入地了解Gtk,Cairo和其他所有相关内容。 但是,不要把我的意见视为沮丧。 Gtk +和扩展Gtk#是一个非常好的环境,很容易用它快速创建非常具有视觉吸引力的GUI。