一: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);
}
}
}
最终效果图如下: