在Winform界面開發的時候,有時候我們客戶喜歡把功能放在列表界面的頂部,這樣界面和功能整齊放置,也是一種比較美觀的方式,基於這種方式的考慮,改造了代碼生成工具的Winform界面生成規則,把增刪改查的常規處理功能抽取簡化的函數,易於在實際項目中使用工具欄的方式處理。
1、常規的Winform界面
我們在之前的界面中,通常都是使用一些按鈕,以及右鍵菜單的方式進行功能的展示,如下界面所示。
這種方式是我們常規的界面生成和布局方式,對於功能相對較少的業務模塊來說,是比較簡潔的,多數操作都放在了右鍵菜單上了。
2、頂端工具欄的處理方式
如果對於一些流程處理,以及復雜業務處理功能的處理上,我們可以考慮在頂端加上一個工具條,放置所需的功能按鈕,如下界面所示。
或者這樣的小工具欄模式
這兩種方式,都是把業務的功能處理,放在了工具欄里面,當然右鍵菜單還是可以保留相關的功能處理的。通過這種方式的布局,可以把很多功能放在一起統一處理,也是一個不錯的處理方式。
為了方便使用這種方式,我們需要把對應不同功能的函數調用封裝的更加方便些,因此可以調整代碼生成工具Database2Shsarp進行這些規則的處理,從而簡化了代碼的處理。
在生成的代碼模板里面,我們調整對應的代碼結構即可生成下面的列表界面代碼,如下所示。
其中的增加、編輯、刪除、綁定(更新)、導入、導出等功能都可以直接調用這個函數即可,從而給我們在工具欄中整合提供更大的方便。
然后在后台代碼中,注冊相關事件的實例的代碼如下所示。
/// <summary> /// 為工具欄注冊相關的事件處理 /// </summary> private void RegisterEvent() { #region 工具欄處理事件 this.barAddNew.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { AddData(); }; this.barEdit.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { EditData(); }; this.barDelete.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { DeleteData(); }; this.barExport.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { ExportData(); }; this.barRefresh.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BindData(); }; this.barPreview.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { PreviewData(); }; this.barBack.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //撤回 UpdateTrack(barBack); }; this.barConfirm.ItemClick += delegate(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //確認 UpdateTrack(barConfirm); }; #endregion this.winGridViewPager1.GridView1.SelectionChanged += delegate(object sender, SelectionChangedEventArgs e) { this.SetButtonEnabled(); }; }
以上就是針對這種界面布局對代碼生成工具生成Winform界面代碼的改進,從而使得我們根據方便調用不同的功能邏輯實現更加豐富的界面控制處理。