Winform開發中對界面的組織布局

在設計界面的時候,不論是在Web端,仍是在Winform端,或者是WPF或者移動界面等應用上,咱們對界面的組織布局,一直是比較有趣的話題,而組織界面的好壞從用戶的感覺來看,能夠提供程序可以使用性高低,也體現了開發者的開發界面的功力。良好的界面佈局,可使得咱們組織內容更加合理,也更加美觀。本篇隨筆主要羅列我本身在開發Winform界面的時候,對界面的組織布局的一些小小案例和心得。前端

界面的組織布局,我這裏分爲了三個部分,一個是主界面組織布局、列表界面組織布局、新增編輯界面組織布局。數據庫

一、主界面組織布局

主界面的組織布局,主要就是應用多窗體的佈局方式,通常能夠考慮使用多文檔容器界面,這種也是常規的方式;或者能夠考慮基於用戶控件的變化實現同一個面板顯示不一樣的控件內容。架構

如早期的Winform,我使用默認樣式的Winform界面,佈局採用控件"WeifenLuo.WinFormsUI.Docking"來承載窗體界面內容,以下所示。框架

鼠標單擊可查看大圖

前者也主要是使用多文檔的方式來處理不一樣窗體的界面顯示,隨着時間的推移,後來逐漸引入了DevExpress的界面套件的方式來作界面,這個界面控件能夠實現更加豐富的界面效果,而以界面代碼生成工具(代碼生成工具Database2Sharp)生成列表和編輯界面後,調整更加方便,所以主要的Winform界面前端就是使用DevExpress的方式來處理,使用DevExpress可使用Ribbon窗體,也可以很好的支持多文檔的界面,所以主界面的效果仍是更勝一籌。工具

會員管理系統

這些主界面,後來基本上都是沿襲一致的界面呈現方式,使用了RibbonForm和樹列表等展現內容,列表界面部分可使用分頁控件統一呈現,實現比較統一的界面效果。佈局

 

二、列表界面組織布局

上面的內容,咱們主要介紹了主界面的組織方式,通常主界面是多文檔界面,所以列表界面也會最終展現在主界面框架上的。通常來講,咱們展現常規內容的時候,分爲列表內容和明細顯示界面,也就是列表內容分頁展現數據庫裏面的記錄信息,而咱們查看明細界面內容的時候,就是顯示單條記錄的詳細內容。優化

如對於列表內容的展現,通常展現效果以下所示,主要展現數據庫裏面的二維表信息。spa

有時候列表查詢的字段不夠的時候,咱們經過列表的高級查詢進行補充這個短板,以便對於表有大量字段的時候的,對一些不常見的字段進行高級查詢操做。設計

可是一旦列表內容比較多,咱們若是須要定位不一樣的篩選信息的時候,若是僅僅經過一些查詢字段的查詢,也不是那麼友好。所以可能引入一些樹形列表來區分不一樣的內容。 3d

       

經過這些列表展現的方式,咱們能夠進一步細化內容的展現,如權限系統的內容展現,經過對用戶組織架構和角色的區分,咱們能夠快速定位系統用戶,也能夠經過查詢字段進行查詢,兩相結合更加方便使用。

字典模塊內容展現,經過不一樣字典大類的樹形列表展現,可使得咱們過濾字典信息更加方便。

 

而角色管理者摒棄了傳統二維表的方式展現數據,經過樹列表控件、表單信息和選項卡信息,更好維護角色數據的處理。

 

對於客戶關係管理系統的客戶信息的列表界面,這個界面對客戶信息的不一樣屬性進行樹形列表展現,可使得定位客戶信息更加精確化,更加友好。

以及對一些特定範疇的數據統一管理,能夠結合樹結構的控件展現,處理起來更方便合理。

另外,有些狀況下,咱們須要考慮在列表界面上展現主從表信息,那麼也能夠利用DevExpress的列表控件來實現效果,以下所示。

 

三、新增、編輯界面組織布局

除了列表界面,另一個就是對數據的明細展現界面了,這個界面內容能夠更加多元化,如在裏面承載各類控件,如文本、日期、圖片、下拉列表、樹形列表,以及咱們自定義的一些控件,如對於附件的經過管理展現控件。

 

有時候,明細內容還涉及到一些主從代表細的錄入,以下所示是主從代表細內容直接錄入的案例。

若是明細內容較多,咱們能夠考慮使用選項卡的方式來維護數據,經過選項卡把不一樣類別的數據區分管理,以下面客戶基本資料就是一個案例。

後者系統用戶信息的展現也是基於一樣的理念

 

不過若是對於須要集中展現明細信息外,以及整合相關的記錄信息,那麼一兩個選項卡確定不夠,以下面案例的人員基本信息的展現,除了展現自身的基礎信息外,也把一些人員關聯的信息一併展現,那麼須要分爲不少選項卡來容納這些信息,可是太多又會致使咱們的界面擁擠,所以能夠在選項卡後面添加一個配置按鈕,使得用戶能夠方便維護本身感興趣的選項卡內容。

 

不過若是內容仍是不少,咱們若是還須要精確的分開不一樣部分的內容,咱們也能夠考慮下面一種方案。

如對於膠質瘤的病人資料,咱們基礎信息這麼展現,雖然內容很多,可是仍是比較合理。

可是,若是對於信息病理內容不少,若是一股腦的展現在一個內容頁面上,確定比較難看,並且也很差維護數據,以下是很差的案例展現。

合理的方式是引入選項卡或其餘區分方式,我這裏使用了一種不同的方式,就是經過結合樹列表和用戶控件的方式,實現一個選項卡里面,對不一樣區域內容的展現和維護,這樣錄入界面和定位不一樣部分的數據也顯得更加方便得體。

下面是對於病人資料內容展現的較爲合理的案例。

對於一個病人,不一樣的屬性對應不一樣的圖片附件信息,咱們能夠統一區分管理,以下所示。

 

 以上就是對於主界面界面、列表界面、明細編輯界面的幾種界面案例的分析,咱們通常在開發的時候,每每都是先使用代碼生成工具(個人代碼生成工具Database2Sharp),統一輩子成標準的列表界面,和明細展現的編輯界面,而後在對它進行必定的潤色和修改,如調整字典下拉列表類型,增長一些樹形列表,調整不一樣的選項卡展現內容,增長附件管理控件,增長一些特殊的界面效果,只有在一些特殊的狀況下,咱們須要完全從新構建明細界面展現。

以上全部案例都是我在Winform開發的時候,逐步造成一些經驗或者佈局改變的思路,固然有些也是一而再,再而三的優化界面,從而達到更好的顯示和處理效果,但願你們喜歡,也歡迎多提意見。

相關文章
相關標籤/搜索