轉帖|行業資訊|編輯:龔雪|2023-08-18 10:12:38.460|閱讀 126 次
概述:本文將為大家介紹在WinForm框架下如何開發一個Office Ribbon界面,歡迎下載相關組件體驗~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在前面幾篇文章Winform框架的文章中,包括《Winform開發框架之字典數據管理》、《Winform開發框架之權限管理系統》等,包含了集眾多功能與一身,提供綜合一站式、整體性的傳統應用系統的開發框架,在此基礎上開發新的業務系統,開發工作則是事半功倍,而且提供了高效、統一的界面布局以及支持多種數據庫的數據訪問層支持,提供了基于大量數據的數據分頁解決方案,提供了傳統Excel報表以及自定義模板的高級Excel報表的解決方案支持。我們先回顧一下框架的整體介紹圖片。
PS:給大家推薦一個C#開發可以用到的界面組件——DevExpress WinForms,它能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
DevExpress技術交流群8:523159565 歡迎一起進群討論
基于上面的內容,開發了一套基于傳統界面的框架,如下所示:
這種界面是較為傳統的界面框架,統一性及美觀性都是比較標準的Winform界面。由于我們想要把這些界面樣式整合到Winform開發框架中,作為另外一種界面樣式的WinForms開發框架。經過整理和改造,成功改造原有傳統的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控件,整體效果也會更加好一些,用法是一樣的。
本文轉載自:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: