Winform开发中另一种样式的OutLookBar工具条
很早的時候,曾經寫了一篇隨筆《WinForm界面開發之“OutLookBar”工具條》介紹了OutLookBar樣式的工具條,得到很多同行的熱烈反饋,我個人也比較喜歡這樣的工具條布局,因此我很多共享軟件中,都經常看到這種OutLookBar的工具條,這種工具條提供了一種較好的界面布局,方便對工具的分類和排列。如我的多篇隨筆《從開發的軟件《備件倉庫管理系統》總結的一些經驗》、《WinForm界面開發之酒店管理系統--開篇》、《Winform開發框架之終極應用》等文章都有介紹,大致的效果如下所示。
?
本文介紹另外一種效果較好的OutLookBar工具條的實現,其思路來源于www.codeproject.com上的一篇介紹OutLook樣式的導航條的文章《A Serious Outlook Style Navigation Pane Control》, 該篇文章給出了一個較好的OutLook樣式的導航容器,但沒提供完整的類似導航條的實現。從該篇文章啟發,我結合了TreeView控件的效果,處理得到下面這種界面效果,和之前的OutLookBar樣式有較為相似的地方,但體驗效果會好一些,也提供更多的工具條控制和樣式。
?
?
?這些界面效果較原來的有一定的提供,而且可以根據需要調整OutLook導航條里面展示的內容,如TreeView、ListBox、Button等均可以放到里面空白區域中,提供較好的控制,下面介紹一下上面的效果代碼實現,供大家參考。
1、首先先在一個空白的窗體中防止一個OutLook樣式的導航控件,如下所示
?
2、實現代碼如下所示?
? ? ? ??#region?NavigationBar代碼實現????????private?void?InitNaviBar()
????????{
????????????TreeView?treeview1?=?new?TreeView();
????????????treeview1.ShowLines?=?false;
????????????treeview1.ImageList?=?this.imageList;
????????????if?(Portal.gc.HasFunction("Purchase"))
????????????{
????????????????treeview1.Nodes.Add(new?TreeNode("備件入庫",?0,?0));
????????????}
????????????if?(Portal.gc.HasFunction("TakeOut"))
????????????{
????????????????treeview1.Nodes.Add(new?TreeNode("備件出庫",?1,?1));
????????????}
????????????if?(Portal.gc.HasFunction("StockSearch"))
????????????{
????????????????treeview1.Nodes.Add(new?TreeNode("庫存查詢",?2,?2));
????????????}
????????????if?(Portal.gc.HasFunction("ItemDetail"))
????????????{
????????????????treeview1.Nodes.Add(new?TreeNode("備件信息",?3,?3));
????????????}
????????????if?(Portal.gc.HasFunction("Report"))
????????????{
????????????????treeview1.Nodes.Add(new?TreeNode("業務報表",?5,?5));
????????????}
????????????TreeView?treeview2?=?new?TreeView();
????????????treeview2.ShowLines?=?false;
????????????treeview2.ImageList?=?this.imageList;
????????????if?(Portal.gc.HasFunction("Dictionary"))
????????????{
????????????????treeview2.Nodes.Add(new?TreeNode("數據字典",?4,?4));
????????????}??
????????????if?(Portal.gc.HasFunction("WareHouse"))
????????????{
????????????????treeview2.Nodes.Add(new?TreeNode("庫房管理",?6,?6));
????????????}
????????????treeview1.Dock?=?DockStyle.Fill;
????????????this.naviBand1.ClientArea.Controls.AddRange(new?Control[]?{?treeview1?});
????????????treeview2.Dock?=?DockStyle.Fill;
????????????this.naviBand2.ClientArea.Controls.AddRange(new?Control[]?{?treeview2?});
?? ? ? ? }?
?
轉載于:https://www.cnblogs.com/wuhuacong/archive/2011/08/02/2125563.html
總結
以上是生活随笔為你收集整理的Winform开发中另一种样式的OutLookBar工具条的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS+lighttpd+php+
- 下一篇: IE6下z-index犯癫不起作用bug