一:navBarControl 属性设置

工具箱中的Navigation & Layout选项卡下找到NavBarControl,拖到窗体中

工具箱中添加2个imageCollection。分别设置Item的大小图标集合,选择相应图片添加到集合中。(大图标32*32,小图标16*16)

      navBarControl 属性面板中:

      Dock设置为Left  ; ParntStyleName皮肤样式,设置为SkinNav:Xmas 2008 Blue

NavigationPaneMaxVisibleGroups,默认值为-1,显示全部Group; 修改为0,即一个都不显示

Run Designer进行Group和Items的添加,Item添加好拖到相应的Group下面即可。

Group属性——》GroupCaptionUseImage,为Group按钮添加图标,设置图标显示方式,小图标或大图标,默认显示小图标。

a:从ImageCollection集合中选择图片(设置LargeImageIndex / SmallImageIndex=0),设置成相应图片下标即可。

b:或者直接设置属性LargeImage / SmallImage 选择需要图标。

Item属性——》 GroupStyle,为Item按钮添加图标,设置图标的显示样式,默认为图标在左边文字在右边,默认显示小图标。

LargeIconsText图标在上方,文字在下方。 添加图标同Group属性 a,b相同

二: xtraTabbedMdiManager实现浏览器标签页效果

       1:添加多文档标签界面:      

         public void OpenMDIWindow(String ChildTypeString, Object[] args)
{
if (String.IsNullOrWhiteSpace(ChildTypeString))
return; var fullName = String.Format("{0}.{1}", GetType().Namespace, ChildTypeString);
if (ContainMDIChild(fullName))
return; Type typForm = Assembly.GetExecutingAssembly().GetType(fullName);
if (typForm == null)
return; Object obj = typForm.InvokeMember(
null,
BindingFlags.DeclaredOnly |
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.CreateInstance,
null,
null,
args); if (obj == null)
return; Form myChild = obj as Form;
myChild.MdiParent = this;
myChild.WindowState = FormWindowState.Maximized;
myChild.Show();
}

 2:判断是否已经显示该子窗体        

       //判断MDI中是否已存在当前窗体
private Boolean ContainMDIChild(String ChildTypeString)
{
foreach (Form f in MdiChildren)
{
if (f.GetType().ToString() == ChildTypeString)
{
f.Select();
return true;
}
}
return false;
}

3:navBarControl事件LinkPressed调用(注意:Item.Tag需要设置成窗体的Name)

        private void navBarControl1_LinkPressed(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
{
if (e.Link.Item.Tag != null)
{
try
{
OpenMDIWindow(e.Link.Item.Tag.ToString(), null);
}
catch (Exception ex)
{
Log.WriteLog(ex.ToString(), UserInfo.LoginName);
}
}
}

       最终效果图如下:

      

DevExpress navBarControl 和 xtraTabbedMdiManager实现浏览器标签页效果的更多相关文章

  1. js基础--浏览器标签页隐藏或显示状态 visibility详解

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 在工作中我们可能会遇到这样的需求,当浏览器切换到别的标签页或着最小化时,我们需要暂停页面上正在播放的视频或者音乐,这个需求 ...

  2. selenium WebDriver 对浏览器标签页的切换

    关于selenium WebDriver 对浏览器标签页的切换,现在的市面上最新的浏览器,当点击一个链接打开一个新的页面都是在浏览器中打开一个标签页,而selenium只能对窗口进行切换的方法,只能操 ...

  3. 为网站设置icon图标用于显示在浏览器标签页最左侧

    icon图标,想必大家对它并不陌生吧,在浏览网页时会看到浏览器标签页的最左侧会有一个小图标,这个正是icon图标.本例为大家介绍下如何为网站设置这个图标 这句话起什么作用 ?复制代码 代码如下: &l ...

  4. JS监听浏览器标签页的显示与隐藏

    /** * 监听浏览器标签页的显示与隐藏 */ class ListenerPageVisibility { constructor () { // 设置隐藏属性和改变可见属性的事件的名称 this. ...

  5. jquery实战---标签页效果

    在前面的博客中,小编主要简单的介绍了jquery的一些基本知识,今天这篇博文,小编继续来学习jquery的相关知识,今天我们来学习一个标签页的小例子,相关源码小编已经上传,有需要的小伙伴可以自己去下载 ...

  6. 实战Jquery(四)--标签页效果

            这两天完毕了实战四五六的样例,实例四是标签页的实现方法,实例五是级联菜单下拉框,实例六是窗体效果,都是web层经常使用的效果.越到后面越发认为技术这东西,就是一种思路的展现,懂了要实现 ...

  7. selenium+python 浏览器标签页跳转 switch_to_window

    浏览器页面跳转方法记录: from selenium import webdriver import time browser = webdriver.Chrome() first_url='http ...

  8. 关于饿了么在浏览器标签页失去焦点时网页Title改变的实现方法

    说在前面:必须是基于支持H5的浏览器才可以 这个 API 本身非常简单,由以下三部分组成. document.hidden:表示页面是否隐藏的布尔值.页面隐藏包括 页面在后台标签页中 或者 浏览器最小 ...

  9. selenium 对浏览器标签页进行关闭和切换

    关闭标签页 # 1.关闭浏览器全部标签页 driver.quit() # 2.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页A) driver.close() 切换标签页 from selen ...

随机推荐

  1. iLinuxBot: Designing Botnets to Manage Linux Clients

    转:http://www.linuxforu.com/2012/05/ilinuxbot-designing-botnets-to-manage-linux-clients/ By Nishant S ...

  2. Android基本控件之listView(三)<用ListView实现分页加载>

    我们之前讨论了ListView的基本使用方法和ListView的优化 今天我们再来讨论一个关于ListView的一个新的东西~就是分页加载.那么什么是分页加载呢?简单点说,就是"下拉刷新&q ...

  3. 解决eclipse下pydev的unresolved import的问题

    有些模块,比如PIL,已经装入过,但是在pydev中无法自动提示,甚至有报 unresolved import的问题,虽然不会引起运行时问题,但是无法实现自动提示,还是一件很麻烦的事情.   下面有个 ...

  4. VMware系统运维(五)安装SSO vCenter Single Sign-On

    1.前面我们做了很多准备工作,安装了很多需求部件,这时候再安装,必备条件无,这是简单安装,即自动安装,点击"安装". 2.简单安装,提示内存不足,需要4GB以上,加内存,重新安装. ...

  5. 多线程的练习----妖,等待唤醒,代码重构,lock到condition

    × 目录 [1]需求 [2]妖的出现和解决 [3]等待唤醒 [4]代码重构 [5]改成Lock Condition ------------------------------------- 1,需求 ...

  6. bind() to 0.0.0.0:80 failed (98: Address already in use)

    You can kill it using: sudo fuser -k 80/tcp And then try restarting nginx again: service nginx start

  7. MongoDB - Introduction of the mongo Shell

    Introduction The mongo shell is an interactive JavaScript interface to MongoDB. You can use the mong ...

  8. php学习笔记7--php中的数组

    php中的数组 1.数组的定义:显式方式:$arr = array(1,2,3,4,5); $arr1 = array('name'=>'dqrcsc','age'=>'24');隐式方式 ...

  9. 解决 arcGis android TextSymbol乱码的问题

    不论是Arcgis for Android的哪个版本,都没无法解决中文乱码的问题,这个与Android中自带的字体库有关,可以参考这篇文章. 所以,要在Arcgis for Android中显示中文, ...

  10. Android之所有API汇总

    这里就是所有的Android API,包含所有的API类:http://www.android-doc.com/reference/packages.html