幾乎可以跟 SharpDevelop 或 Visual Studio.Net 設計 Windows form 應用程式一樣了,同樣也是拖拉放,就可以完成。
對於初入門的人來說,最痛苦的可能還是對於 Gtk# 的物件模型不熟悉,因為不熟悉,所以也就不知道該去處理哪些屬性與事件。
好在Mono官方網站有提供入門文件:用力唸一唸這些文件跟自己去嘗試,大致上應該是夠了。但這些文件大部分都是自己去寫 Layout code。
如果你正在使用目前版本的 MonoDevelop 在 Layout 的話,你會發現世界全然不同,因為MonoDevelop引進了 Stetic。
現在使用 MonoDevelop 拉出來的 Form,實際上都會被存放在專案目錄下的 gtk-gui 目錄下的某個 xml 檔案,在每次 build 之前,MonoDevelop 會先把 xml 轉換為一個存放於 gtk-gui 目錄下的 partial 類別(.cs),然後 build 的時候,再 build 到一起。而在專案目錄下所看到的代碼,只會有一行 Build()。
這真的是方便很多,開發者只需要專注於如何處理程式邏輯就可以,而不需要去管 UI 代碼的生成。
在 MonoDevelop 加入 Stetic 之前,大部分的 Gtk# 應用程式還是用手動加代碼或是用 Glade# 來設計介面(詳細的 Glade# 用法,可以參考 Your First Glade# Application 的說明)。
Glade# 其實也是把整個 UI 存成一個 xml 檔案,所以你得先使用 Glade 應用程式設計出 UI,得到 .glade 檔案,然後在程式裡面:
- 載入 .glade 檔案
- 為控制項(Widget)加上 Attribute
- 撰寫事件處理並繫結
這當然是比手動寫代碼方便許多,但比起 Stetic,還是要多作事,往往用 Glade 修改 UI 後,可能會忘記加必要的 Widget 宣告,或是對應的事件繫結。
沒有留言:
張貼留言