WinForm應用實戰開發指南 - Office Ribbon界面的開發

在前面幾篇文章Winform框架的文章中,包括《Winform開發框架之字典數據管理》、《Winform開發框架之權限管理系統》等,包含了集衆多功能與一身,提供綜合一站式、整體性的傳統應用系統的開發框架,在此基礎上開發新的業務系統,開發工作則是事半功倍,而且提供了高效、統一的界面佈局以及支持多種數據庫的數據訪問層支持,提供了基於大量數據的數據分頁解決方案,提供了傳統Excel報表以及自定義模板的高級Excel報表的解決方案支持。我們先回顧一下框架的整體介紹圖片。

PS:給大家推薦一個C#開發可以用到的界面組件——DevExpress WinForms,它能完美構建流暢、美觀且易於使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕鬆勝任!

DevExpress技術交流羣8:523159565      歡迎一起進羣討論

WinForm應用實戰開發指南 - Office Ribbon界面的開發

基於上面的內容,開發了一套基於傳統界面的框架,如下所示:

WinForm應用實戰開發指南 - Office Ribbon界面的開發

這種界面是較爲傳統的界面框架,統一性及美觀性都是比較標準的Winform界面。由於我們想要把這些界面樣式整合到Winform開發框架中,作爲另外一種界面樣式的WinForms開發框架。經過整理和改造,成功改造原有傳統的Winform開發框架界面,界面效果如下所示:

WinForm應用實戰開發指南 - Office Ribbon界面的開發

另外編輯界面也適當調整爲:

WinForm應用實戰開發指南 - Office Ribbon界面的開發

以上界面樣式和傳統的界面開發框架有不少的差別,通過利用Office2007 Ribbon樣式,可以放置更多的功能按鈕,並像Office2007那樣,可以摺疊起來更有效利用界面空間,而且也能夠給用戶較爲絢麗的界面,使得你的應用程序在客戶中獲得較高的印象分數。

整個界面工程如下所示:

WinForm應用實戰開發指南 - Office Ribbon界面的開發

雖然使用了基於DotNetBar控件改造了Winform界面,但是和之前的開發框架,界面之間的繼承關係並沒有變化,都是遵循下面的原則:

1、停靠在主窗體中的界面繼承自基類BaseDock;

2、彈出的普通窗體,繼承自基類BaseForm;

3、彈出的數據編輯窗體,繼承自BaseEditForm,而BaseEditForm繼承自BaseForm。

通過不同的繼承基類,我封裝了不同的處理函數,節省了子類的重複代碼,並增強了Winform界面的統一性、良好封裝性、良好可操作性。

下面總結幾個界面改造過程中注意的事項:

1、如果是從已有Winform窗體中轉換的話,需要把原有的TextBox控件、Label控件、ComboBox控件調整爲TextBoxX、LableX、ComboBoxX控件外,還需要修改TextBox的Border.Class爲TextBoxBorder(默認添加的TextboxX控件有該樣式),否則樣式沒有邊框,不好看;ComboBoxX控件的DrawMode修改爲OwnerDrawFixed,否則同樣沒有邊框,不好看。另外,如果Label或者文本控件的背景色存在白色,通過選定控件,拉動一下即可解決該問題。

2、雖然窗體集成自Office2007Form,界面已經有一些Office的界面效果了,不過爲了好看,最好在窗體界面中添加一個PanelEx這樣的控件,界面儘可能不要GroupBox控件,而是用PanelEx這樣的控件來代替,這樣效果好一些。

WinForm應用實戰開發指南 - Office Ribbon界面的開發

3、佈局使用DotNetBar控件中的Bar控件或者Tab控件來替代原有的Weifenluo控件,這樣整體性會好一些。

4、封裝Bar控件,使之在創建窗體的時候,更加方便,而不需要更多的代碼,如在主窗體中增加一個窗體,代碼如下即可:

SetMdiForm(new FrmItemDetail(), "備件信息");

5、利用DataGridViewEx來替換默認的 DataGridView控件,整體效果也會更加好一些,用法是一樣的。

本文轉載自:博客園 - 伍華聰


更多DevExpress線上公開課、中文教程資訊請上中文網獲取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章