DevExpress navBarControl 和 xtraTabbedMdiManager实现浏览器标签页效果
一: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实现浏览器标签页效果的更多相关文章
- js基础--浏览器标签页隐藏或显示状态 visibility详解
欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 在工作中我们可能会遇到这样的需求,当浏览器切换到别的标签页或着最小化时,我们需要暂停页面上正在播放的视频或者音乐,这个需求 ...
- selenium WebDriver 对浏览器标签页的切换
关于selenium WebDriver 对浏览器标签页的切换,现在的市面上最新的浏览器,当点击一个链接打开一个新的页面都是在浏览器中打开一个标签页,而selenium只能对窗口进行切换的方法,只能操 ...
- 为网站设置icon图标用于显示在浏览器标签页最左侧
icon图标,想必大家对它并不陌生吧,在浏览网页时会看到浏览器标签页的最左侧会有一个小图标,这个正是icon图标.本例为大家介绍下如何为网站设置这个图标 这句话起什么作用 ?复制代码 代码如下: &l ...
- JS监听浏览器标签页的显示与隐藏
/** * 监听浏览器标签页的显示与隐藏 */ class ListenerPageVisibility { constructor () { // 设置隐藏属性和改变可见属性的事件的名称 this. ...
- jquery实战---标签页效果
在前面的博客中,小编主要简单的介绍了jquery的一些基本知识,今天这篇博文,小编继续来学习jquery的相关知识,今天我们来学习一个标签页的小例子,相关源码小编已经上传,有需要的小伙伴可以自己去下载 ...
- 实战Jquery(四)--标签页效果
这两天完毕了实战四五六的样例,实例四是标签页的实现方法,实例五是级联菜单下拉框,实例六是窗体效果,都是web层经常使用的效果.越到后面越发认为技术这东西,就是一种思路的展现,懂了要实现 ...
- selenium+python 浏览器标签页跳转 switch_to_window
浏览器页面跳转方法记录: from selenium import webdriver import time browser = webdriver.Chrome() first_url='http ...
- 关于饿了么在浏览器标签页失去焦点时网页Title改变的实现方法
说在前面:必须是基于支持H5的浏览器才可以 这个 API 本身非常简单,由以下三部分组成. document.hidden:表示页面是否隐藏的布尔值.页面隐藏包括 页面在后台标签页中 或者 浏览器最小 ...
- selenium 对浏览器标签页进行关闭和切换
关闭标签页 # 1.关闭浏览器全部标签页 driver.quit() # 2.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页A) driver.close() 切换标签页 from selen ...
随机推荐
- iLinuxBot: Designing Botnets to Manage Linux Clients
转:http://www.linuxforu.com/2012/05/ilinuxbot-designing-botnets-to-manage-linux-clients/ By Nishant S ...
- Android基本控件之listView(三)<用ListView实现分页加载>
我们之前讨论了ListView的基本使用方法和ListView的优化 今天我们再来讨论一个关于ListView的一个新的东西~就是分页加载.那么什么是分页加载呢?简单点说,就是"下拉刷新&q ...
- 解决eclipse下pydev的unresolved import的问题
有些模块,比如PIL,已经装入过,但是在pydev中无法自动提示,甚至有报 unresolved import的问题,虽然不会引起运行时问题,但是无法实现自动提示,还是一件很麻烦的事情. 下面有个 ...
- VMware系统运维(五)安装SSO vCenter Single Sign-On
1.前面我们做了很多准备工作,安装了很多需求部件,这时候再安装,必备条件无,这是简单安装,即自动安装,点击"安装". 2.简单安装,提示内存不足,需要4GB以上,加内存,重新安装. ...
- 多线程的练习----妖,等待唤醒,代码重构,lock到condition
× 目录 [1]需求 [2]妖的出现和解决 [3]等待唤醒 [4]代码重构 [5]改成Lock Condition ------------------------------------- 1,需求 ...
- 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
- MongoDB - Introduction of the mongo Shell
Introduction The mongo shell is an interactive JavaScript interface to MongoDB. You can use the mong ...
- php学习笔记7--php中的数组
php中的数组 1.数组的定义:显式方式:$arr = array(1,2,3,4,5); $arr1 = array('name'=>'dqrcsc','age'=>'24');隐式方式 ...
- 解决 arcGis android TextSymbol乱码的问题
不论是Arcgis for Android的哪个版本,都没无法解决中文乱码的问题,这个与Android中自带的字体库有关,可以参考这篇文章. 所以,要在Arcgis for Android中显示中文, ...
- Android之所有API汇总
这里就是所有的Android API,包含所有的API类:http://www.android-doc.com/reference/packages.html