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 });

         } 

 本文转自博客园伍华聪的博客,原文链接:Winform开发中另一种样式的OutLookBar工具条,如需转载请自行联系原博主。



目录
相关文章
WPF疑难问题之Treeview中HierarchicalDataTemplate多级样式
WPF疑难问题之Treeview中HierarchicalDataTemplate多级样式
392 0
|
4月前
|
开发框架 前端开发 搜索推荐
在WInform开发中实现工具栏/菜单的动态呈现
在WInform开发中实现工具栏/菜单的动态呈现
WPF-布局样式练习-Day02-聊天气泡
WPF-布局样式练习-Day02-聊天气泡
256 1
Revit二次开发DockableDialog (可停靠窗体)
Revit二次开发DockableDialog (可停靠窗体)
Revit二次开发DockableDialog (可停靠窗体)
|
XML 程序员 C语言
Qt编写控件属性设计器2-拖曳控件
一、前言 上一篇文章把插件加载好了,并且把插件中的所有控件都显示到了列表框中,这次要做的就是实现拖曳控件的功能,用户选择一个控件拖曳到画布上,松开,在松开位置处自动实例化该控件,这个需要用到dropEvent和dragEnterEvent事件,重新实现这两个事件,对拖曳的对象进行过滤并调用函数实例化该控件,在实例化该控件的同时实例化控件跟随控件以便拉伸调整大小和位置。
918 0
|
程序员 开发工具 C语言
Qt编写自定义控件45-柱状标尺控件
一、前言 这个控件写了很久了,是最早期的一批控件中的一个,和温度计控件类似,都是垂直的进度条,可以设置不同的背景颜色,左侧的刻度也可以自由设定,还提供了动画效果,其实就是开启定时器慢慢的进度到设定的目标值,如果设定的值比当前值大,则递增,反之递减。
1148 0
|
C#
WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化)
原文:WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化) 注释直接写在代码里了   不太理解意思的 可以先去看看我上一篇  WPF ScrollViewer(滚动条)  自定义样式表制作 图文并茂 滚动条因为要在触摸屏上用  所以我设计的很宽 宽度可以自己改  把宽度变量...
2134 0
|
C#
WPF ScrollViewer(滚动条) 自定义样式表制作 再发一套样式 细节优化
原文:WPF ScrollViewer(滚动条) 自定义样式表制作 再发一套样式 细节优化   艾尼路 出的效果图 本人嵌套  WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化) ...
1651 0
|
C#
WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂
原文:WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 先上效果图 正常样式 拖动时样式 好下面 开始吧 ================================================================= 打开blend 新建...
1647 0