Devexpress 控件学习记录(一:BarManager 控件、XtraTabbedMdiManager 控件)
BarManager 控件
最终实现的效果如下:
- 首先在窗体中拖出BarManager控件,窗体Bar add地方点击添加
- 设置BarManager的属性 设置出现的窗体的底部【DockStyle=Bottom】
- 点击Add DropDown Menu 添加下拉菜单
出现下拉菜单
- 设置下拉菜单中的子菜单
选中下拉菜单,然后点击下面的Add添加子菜单 【这里吐槽一下Dev这个设计器,是真的不好用,他把所有的子菜单都展示出来了,点上面的分类也不好使】
- 在菜单中设置图片以及图片和文字显示方式
- 设置子菜单的点击事件 在设计器中添加的BarButtonItem按钮,在设计器界面是找不到事件属性的,只能通过在Designer.cs 代码中添加关于按钮的点击事件
Designer.cs
barButtonItem3.Caption = "扫码打印";
barButtonItem3.Id = 2;
barButtonItem3.Name = "barButtonItem3";
barButtonItem3.ItemClick += BarButtonItem3_ItemClick;
private void BarButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (!this.MdiChildren.Any(a => a.Text == "扫码打印"))
{
Form3 f = new Form3();
//指定父级窗体
f.MdiParent = this;
f.Show();
}
else
{
//遍历所有子窗体,找到已经打开的子窗体,并显示 拒绝重复打开
foreach (var item in this.MdiChildren)
{
if (item.Text == e.Item.Caption)
{
item.Activate();
break;
}
}
}
}
XtraTabbedMdiManager 控件
实现效果:实现多个子窗体同时展开,并出现在唯一的父窗体中。
- 首先在窗体中拖出XtraTabbedMdiManager控件
- 设置窗体的属性为IsMidContainer=true
- 在上面菜单按钮的点击事件中写入代码
private void BarButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (!this.MdiChildren.Any(a => a.Text == "扫码打印"))
{
Form3 f = new Form3();
//指定父级窗体
f.MdiParent = this;
f.Show();
}
else
{
//遍历所有子窗体,找到已经打开的子窗体,并显示 拒绝重复打开
foreach (var item in this.MdiChildren)
{
if (item.Text == e.Item.Caption)
{
item.Activate();
break;
}
}
}
}
本篇文章仅作为学习记录,如有错误欢迎大佬指出