Winform开发中另一种样式的OutLookBar工具条
很早的時候,曾經(jīng)寫了一篇隨筆《WinForm界面開發(fā)之“OutLookBar”工具條》介紹了OutLookBar樣式的工具條,得到很多同行的熱烈反饋,我個人也比較喜歡這樣的工具條布局,因此我很多共享軟件中,都經(jīng)常看到這種OutLookBar的工具條,這種工具條提供了一種較好的界面布局,方便對工具的分類和排列。如我的多篇隨筆《從開發(fā)的軟件《備件倉庫管理系統(tǒng)》總結(jié)的一些經(jīng)驗》、《WinForm界面開發(fā)之酒店管理系統(tǒng)--開篇》、《Winform開發(fā)框架之終極應用》等文章都有介紹,大致的效果如下所示。
?
本文介紹另外一種效果較好的OutLookBar工具條的實現(xiàn),其思路來源于www.codeproject.com上的一篇介紹OutLook樣式的導航條的文章《A Serious Outlook Style Navigation Pane Control》, 該篇文章給出了一個較好的OutLook樣式的導航容器,但沒提供完整的類似導航條的實現(xiàn)。從該篇文章啟發(fā),我結(jié)合了TreeView控件的效果,處理得到下面這種界面效果,和之前的OutLookBar樣式有較為相似的地方,但體驗效果會好一些,也提供更多的工具條控制和樣式。
?
?
?這些界面效果較原來的有一定的提供,而且可以根據(jù)需要調(diào)整OutLook導航條里面展示的內(nèi)容,如TreeView、ListBox、Button等均可以放到里面空白區(qū)域中,提供較好的控制,下面介紹一下上面的效果代碼實現(xiàn),供大家參考。
1、首先先在一個空白的窗體中防止一個OutLook樣式的導航控件,如下所示
?
2、實現(xiàn)代碼如下所示?
? ? ? ??#region?NavigationBar代碼實現(xiàn)????????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("業(yè)務報表",?5,?5));
????????????}
????????????TreeView?treeview2?=?new?TreeView();
????????????treeview2.ShowLines?=?false;
????????????treeview2.ImageList?=?this.imageList;
????????????if?(Portal.gc.HasFunction("Dictionary"))
????????????{
????????????????treeview2.Nodes.Add(new?TreeNode("數(shù)據(jù)字典",?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?});
?? ? ? ? }?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuhuacong/archive/2011/08/02/2125563.html
總結(jié)
以上是生活随笔為你收集整理的Winform开发中另一种样式的OutLookBar工具条的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS+lighttpd+php+
- 下一篇: Effective C++ 学习笔记(1