NavBarControl控件介绍

NavBarControl控件是“导航栏控件”,主要是由分组Group和子项Item组成.

位于 工具箱 -> Navigation & Layout(导航栏与布局类控件) 目录下;

NavBarControl控件的属性介绍:

蓝色为常用属性,红色为未知、几乎不怎么用的属性,其他托管属性,暂时不需要我们去处理

BarManager 
        MenuManager(BarManager)菜单管理
布局 
        Anchor(enum)控件锚点
通用属性,设置Top、Bottom、Right、Left四个位置以使
控件在指定方位跟随父容器变换而变换
        Dock(enum)控件在父容器中停靠方式
通用属性,五个可选值设置使控件停靠在父容器的上下左
右四个方位或充满整个父容器
        Location(X,Y)(int)控件的位置
通用属性,上方Dock属性为None时生效
        Size(W,H)(int)控件的长宽
通用属性,上方Dock属性为None时生效
行为 
        AllowDrop(bool)是否接收用户拖到控件上的数据
        Enabled(bool)控件是否激活
        LinkSelectionMode(enum)指定当前选中的项目是否保持选中
        TabIndex(int)tab键切换焦点的索引
        TabStop(bool)是否禁用tab键切换焦点
Visible(bool)控件是否可见
数据 
Groups(NavGroupCollection)当前导航栏的所有分组
Items(NavItemCollection)当前导航栏的所有选项
外观 
ActiveGroup                                                          
(NavBarGroup)当前展开的分组,PaintStyle不为
ExplorerBar(也就是同时只能有一个分组展开)时生效
Appearance(NavBarAppearances)整个控件的外观属性设置,应用
于控件中的所有部件
HotTrackedGroupCursor(enum)鼠标停在分组上的显示样式
HotTrackedItemCursor(enum)鼠标停在选项上的显示样式
LargeImages(ImageList)大图标集合,可供控件下的其他部件在其中
选择自己的大图标
LinkInterval(int)行间距
LookAndFeel控件使用的皮肤
        NavigationPaneGroupClientHeight(int)导航面板组的高度,决定下方的分组栏目是否缩进
        NavigationPaneMaxVisibleGroups(int)导航面板最大可见分组
        NavigationPaneOverflowPaneUse
        SmallImages
(bool)导航窗格被缩进的分组是否使用小图标
    OptionsNavPane(导航窗格的选项设置) 
        AllowOptionsMenuItem(bool)菜单项是否允许选择
        AnimationFramesCount(int)导航栏缩进动画的帧数
        CollapsedNavpaneContentControl(Control)整个导航栏缩进时显示的控件
        CollapsedWidth(int)导航栏缩进时保持的宽度
        ExpandButtonMode(enum)导航栏缩进的方向,比如靠左还是靠右
ExpandedWidth(int)导航栏展开时的宽度
        GroupImageShowMode(enum)导航栏的分组在什么情况下才显示图标
        MaxPopupFormWidth(int)导航栏缩进时,点击选项弹出的窗口最大值
        NavPaneState(enum)当前导航栏的状态,是展开还是缩进
ShowExpandButton(bool)是否显示导航栏缩进按钮
        ShowGroupImageInHeader(bool)是否显示当前已展开分组的图标
        ShowHeaderText(bool)是否显示当前已展开分组的名称
ShowOverflowButton(bool)是否显示导航栏中分组的缩进按钮
ShowOverflowPanel(bool)是否显示导航栏中分组的缩进平面
        ShowSplitter(bool)是否显示分割线
  
PaintStyleKind(enum)导航栏的模式,比如同时只允许展开一个分组
或者可以多个分组一起展开
PaintStyleName(enum)导航栏的样式
RightToLeft(enum)导航栏是否是从右到左对齐
SkinExplorerBarViewScrollStyle(enum)PaintStyleKind为ExplorerBar模式时,内容超出
时的进度条显示模式
SmallImages(ImageList)控件的小图标集合,对应当前项目中的任一
图片集
Text(string)控件的显示内容
UseWaitCursor(bool)鼠标经过此控件时是否切换为等待状态光标

实例介绍

1.新建导航栏:

可以点击右上角的箭头设置基本样式,选择NavigationPane,意思是最多只展开一个分组,其余三个选项也是修改展开分组的样式的;也可以在属性窗口中选择PaintStyleKind来设置。


2.手动添加导航栏数据:

可以点击RunDesigner来设计,同时也可以在属性窗口中点击Groups和Items来设置;


设计界面的Main -> Groups/Items/Links为导航栏的分组及子项目编辑界面,我们进入此界面,在右侧的NavBar Groups窗口内点击鼠标焦点至此窗口时,上方的添加按钮可以添加新的分组,在右侧的NavBar Items窗口内点击鼠标焦点至此窗口时,上方的添加按钮可以添加新的子项目,选中每个分组或子项目可以在右侧的属性窗口快捷设置他的常用属性,添加好了多个分组和子项目时,需要将子项目指定到某一分组内,直接用鼠标拖动NavBar Items中的子项目到NavBar Groups中的该分组下。


效果图:


3.捕获导航栏的事件:

捕获导航栏子项目的鼠标点击事件LinkClicked:

 #region 初始化操作
        public Form1()
        {
            InitializeComponent();
            OtherInit();//其他初始化操作
            DynamicAdd();//动态添加分组和子项
        }
        /// <summary>
        /// 其他的初始化方法
        /// </summary>
        private void OtherInit()
        {
            //委托是这样使用的,这样就不用每个子项都写一个点击事件了
            this.navBarItem1.LinkClicked+=Item_Click;
            this.navBarItem2.LinkClicked += Item_Click;
            this.navBarItem3.LinkClicked += Item_Click;
            this.navBarItem4.LinkClicked += Item_Click;
            this.navBarItem5.LinkClicked += Item_Click;
            this.navBarItem6.LinkClicked += Item_Click;
            this.navBarItem7.LinkClicked += Item_Click;
            this.navBarItem8.LinkClicked += Item_Click;
            this.navBarItem9.LinkClicked += Item_Click;
        }

        #endregion
        #region 主导航栏子项目的点击事件
        private void Item_Click(Object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            MessageBox.Show("点击了子项目:"+e.Link.Caption+"!");
        }
        #endregion

效果图:


动态更改导航栏的数据:

只需要根据数据动态的创建分组和子项目,并将子项目添加到分组之下:

#region 动态的添加分组和子项目
        private void DynamicAdd()
        {
            NavBarGroup nbGroup1 = new NavBarGroup();
            nbGroup1.Name = "nbGroup1";
            nbGroup1.Caption = "动态添加的分组";
            navBarControl1.Groups.Add(nbGroup1);//将该分组添加到导航栏的所有Groups集合

            NavBarItem nbItem1 = new NavBarItem();
            nbItem1.Name = "nbItem1";
            nbItem1.Caption = "动态添加的子项";
            navBarControl1.Items.Add(nbItem1);//将该子项添加到导航栏的所有Items集合

            //添加子项到某一个分组
            nbGroup1.ItemLinks.AddRange(new NavBarItemLink[] { new NavBarItemLink(nbItem1)});
        }

        #endregion

效果:


  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NavBarControl控件是C#中的一个导航栏控件,它通常用于创建具有多个导航选项卡的用户界面。NavBarControl提供了一种方便的方式来组织和导航应用程序中的不同功能模块或视图。 使用NavBarControl控件,您可以创建一个导航栏,其中包含多个导航组。每个导航组可以包含多个导航项,每个导航项都表示一个不同的功能或视图。用户可以通过点击导航项来切换到特定的功能或视图。 NavBarControl控件提供了一些常见的功能,如自动折叠和展开导航组、显示图标和文本、支持多级导航等。您可以通过代码或设计时属性设置来配置控件的外观和行为。 以下是一个简单的示例代码,用于创建一个包含两个导航组和若干导航项的NavBarControl控件: ```csharp using DevExpress.XtraNavBar; // 创建一个NavBarControl实例 NavBarControl navBarControl = new NavBarControl(); navBarControl.Dock = DockStyle.Left; // 创建两个导航组 NavBarGroup group1 = new NavBarGroup("Group 1"); NavBarGroup group2 = new NavBarGroup("Group 2"); // 创建几个导航项并添加到导航组中 NavBarItem item1 = new NavBarItem("Item 1"); NavBarItem item2 = new NavBarItem("Item 2"); NavBarItem item3 = new NavBarItem("Item 3"); group1.ItemLinks.Add(item1); group1.ItemLinks.Add(item2); group2.ItemLinks.Add(item3); // 将导航组添加到NavBarControlnavBarControl.Groups.Add(group1); navBarControl.Groups.Add(group2); // 将NavBarControl添加到窗体中 this.Controls.Add(navBarControl); ``` 通过上述示例,您可以创建一个简单的导航栏,并根据您的需要添加更多的导航组和导航项。希望这能帮助到您!如果有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值