1. 程式人生 > >Winform開發框架之Office Ribbon介面

Winform開發框架之Office Ribbon介面

在前面幾篇文章介紹我的Winform框架隨筆文章,包括有《》、《》、《》,其中Winform開發框架之終極應用是集眾多功能與一身,提供綜合一站式、整體性的傳統應用系統的開發框架,在此基礎上開發新的業務系統,開發工作則是事半功倍,而且提供了高效、統一的介面佈局以及支援多種資料庫的資料訪問層支援,提供了基於大量資料的資料分頁解決方案,提供了傳統Excel報表以及自定義模板的高階Excel報表的解決方案支援。我們先回顧一下框架的整體介紹圖片。

  

 基於上面的內容,我在之前《》中開發了一套基於傳統介面的框架,如下所示:

 

這種介面是較為傳統的介面框架,統一性及美觀性都是比較標準的Winform介面,由於本人之前研究開發過基於DotNetBar框架的Office Ribbon樣式的Winform介面,詳細可以參考文章《》 ,因此本人想把這些介面樣式整合到我的Winform開發框架中,作為另外一種介面樣式的Winform開發框架。經過週末不少時間的整理改造,成功改造原有傳統的Winform開發框架介面,介面效果如下所示:

 
另外編輯介面也適當調整為:

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

整個介面工程如下所示:

 

雖然使用了基於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這樣的控制元件來代替,這樣效果好一些。

 

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

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

SetMdiForm(new FrmItemDetail(), "備件資訊"); 

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

基於Dotnetbar的Office2007最新Winform框架程式,