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工具条,如需转载请自行联系原博主。

时间: 2024-07-29 11:24:08

Winform开发中另一种样式的OutLookBar工具条的相关文章

在Winform开发中使用日程控件XtraScheduler

在一些应用场景中,我们可能需要记录某一天,某个时段的日程安排,那么这个时候就需要引入了DevExpress的日程控件XtraScheduler了,这个控件功能非常强大,提供了很好的界面展现方式,以及很多的事件.属性给我们定制修改,能很好满足我们的日程计划安排的需求,本文全面分析并使用这个控件,希望把其中的经验与大家分享. 1.日程控件的表现效果 整个日程控件,可以分为日视图.周视图.月视图等等,当然还有一些不常用的时间线.甘特图等,本例我们来关注控件的使用以及这几个视图的处理.先来看看他们的界面

在Winform开发中使用日程控件XtraScheduler(2)--深入理解数据的存储

在上篇随笔<在Winform开发中使用日程控件XtraScheduler>中介绍了DevExpress的XtraScheduler日程控件的各种使用知识点,对于我们来说,日程控件不陌生,如OutLook里面就有日历的模块,但是这个日程控件真的是很复杂的一个控件,需要全面掌握可能需要花费很多的时间去了解,由于是技术研究,我总是希望把它常用的功能剖析的更加彻底一些,前面随笔也介绍了它的存储功能,把它基于实体类的方式存储在数据库里面,不过介绍的还不够,本文继续上面的内容,进行数据存储方面的介绍. 在

Winform开发中常见界面的DevExpress处理操作

我们在开发Winform程序的时候,需要经常性的对界面的一些控件进行初始化,或者经常简单的封装,以方便我们在界面设计过程中反复使用.本文主要介绍在我的一些项目中经常性的界面处理操作和代码,以便为大家开发的时候提供必要的参考. 1.选择用户的控件封装操作 在一些系统模块里面,我们需要选择系统人员作为经办人员的操作,如下面几个界面场景所示. 我们注意到,一般在我们选择的时候,界面会弹出一个新的层给我们选择,里面通过列表详细展示相关的信息,还可以支持搜索,非常方便. 当我们完成选择的时候,我们看到界面

Winform开发中手写签名的实现

由于项目的需要,需要在项目的Winform系统的一个模块中集成手写签名的功能,一开始对这块不是很了解,只是了解他能够替代鼠标进行签名.既然是签名,一般就是需要记录手稿图片,作为一个记录核实的凭证,因为有效的签名是很难模拟的.市场上也存在很多类型的电子签名笔,一时间还真不知道那种适合.本文主要从签名笔的选型以及功能实现等方面来对实现这个需求进行分析介绍,希望能够给有同样际遇的朋友一个参考. 1.电子手写签名介绍 电子手写签名,其实就是模拟真实的笔进行签名的过程,我这里主要是介绍使用外部设备来记录手

Java开发中的23种设计模式详解(转)

Java开发中的23种设计模式详解(转) 设计模式(Design Patterns)                                   --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合

winform开发中autovue 默认选中平移按钮怎样弄?求助

问题描述 winform开发中autovue默认选中平移按钮怎样弄?求助 解决方案 解决方案二:autovue用的版本是:autovue20.0.0.7330.

winform开发中autovue 默认选中平移按钮怎样弄?

问题描述 winform开发中autovue 默认选中平移按钮怎样弄? winform开发中autovue 默认选中平移按钮怎样弄?求助 解决方案 SendMessage(选择框句柄,BM_SETCHECK,BST_CHECKED,0)

在Winform开发中使用FastReport创建报表

FastReport.Net是一款适用于Windows Forms, ASP.NET和MVC框架的功能齐全的报表分析解决方案.可用在Microsoft Visual Studio 2005到2015,支持.Net Framework 2.0到4.x.我下载了一个FastReport进行测试使用,这个报表功能还是很强大的. 对其中FastReport的一些功能,我编写整理了一个小小的案例进行介绍,进行了简单的测试记录,希望对了解FastReport的使用有帮助.案例界面功能如下所示. 1.Fast

WinForm界面开发之“OutLookBar”工具条

在很多软件界面中,一个好的界面.方便的导航除了为软件增色不少外,也提高了用户体验,促进软件的良性发展,因为我们的软件一般需要有菜单.工具条.状态条等这些基本的东西,但是工具条本身应该是一些常用的快捷键,内容不能放置太多,否则会容易给客户凌乱的感觉.菜单条则可以分类,但是好像每次去点击,一步步深入,则显得比较麻烦.本篇我介绍一下一个很好的导航条OutlookBar控件. 在我的2个版本的送水软件中,都用到了OutLookBar的工具条,使用的界面效果如下所示.