目标 :初学者如何学习GTK#,即GTKSharp,感觉资料少了些 

如题,GTK#GTK+的包装,GTK+主要用C++语言,这东西很棒,可以编译成多平台可跑的桌面应用程序,比C++开发效率高。 

在国内百度搜索引擎搜 GTK# GTKSharp 能找到一些资料 ,可能不多,我推荐用bing.comGOOGLE来搜,毕竟计算机是美国人发明的,你找其他前沿技术的研究、开源组件的研究也一样,要多搜英文的东东,更翔实。 

有些人问:资料少,学得有困难。

其实GTK#还可以看GTK+的内容,怎么看另一篇经验文档再讲。学一个东西不在于主流与否,勿以主流而为主,勿以小流而不为,你也不能判断今天的小流是明日的主流,技术不在于主流就用,要用适合的技术,要以多元、开放的思想来看问题。你尝试GTK#、比你学Windows Forms更能锻炼你的各方面,包括探索与研究能力、查找资料能力、英语阅读能力、挖掘开源社区资源的能力。想做一名更好的技术人,不要期待学一门框架就能吃个十年以上(比如之前想学WPF),优秀的技术人的价值在于开发经验与设计思想。 

推荐先看MONO的英文教程来学,这些一定要先认真阅读:

http://www.mono-project.com/docs/gui/gtksharp/tutorials/

这个是也是个好网站,必看:

http://zetcode.com/gui/gtksharp/

然后举个例,比如我想做个GTK#的标签页,我应该如何搜?

标签页一般叫tabtab controltabpage,可以变换搜: 

GTK# tab

经验文档—如何学习GTK#(GTKSharp)_python
 
找不到,

我们搜 GTKSharp Tab

 经验文档—如何学习GTK#(GTKSharp)_c++_02
打开第一个:

http://stackoverflow.com/questions/2581902/creating-a-closeable-tab-in-mono-gtk 

Wow,找到不错的答案,注意多研究 stackoverflow.com里面搜GTKSharp or GTK#也可以找到不少东东。

看上面的搜索结果,我们还看到第四个网址:http://coding.debuntu.org/python-gtk-how-set-gtk.notebook-tab-custom-widget 

打开第一个网址,里面有代码: 经验文档—如何学习GTK#(GTKSharp)_c#_03

看上图,有个HBox,是什么东东?我们可以在bing.com GTK# HBOX 

经验文档—如何学习GTK#(GTKSharp)_标签页_04

第一个网址:

http://pygtk.org/docs/pygtk/class-gtkhbox.html

最后一个网址:

https://developer.gnome.org/gtk3/unstable/GtkHBox.html 

都是可以看的,虽然是PYTHONC++语言,但是我们可以看到类的结构、功能介绍、继承层次、属性、方法等 ,方法与属性与C#的应该是相近甚至一样的。

我们再搜 GTKSharp HBOX

打开第一个网址:

http://www.mono-project.com/docs/gui/gtksharp/widgets/packing-with-boxes/

这不,我们找到了最经典的HBOXC#的用法,更贴近了,搜索是一门学问,一门技巧,我们可以看到 www.mono-project.com 是最重要的GTK#的学习网址之一。 

其实GTK+有很多衍生的、GTK PYTHONGTK PHP,但是使用方法与框架思想都是类似的,比如OnDeleteEvent如何用,都是相同的,所以看GTK+的原中英文书也有很多参考价值。再说C++C#蛮像。 

本经验文档总结:

1)学会多换名词搜索。

2)多找同框架不同语言的参考库来阅读。

3)多看 stackoverflow.com,从里面也可以找到不少高价值东东。