Devexpress 控件学习记录(一:BarManager 控件、XtraTabbedMdiManager 控件)

BarManager 控件

最终实现的效果如下:
img

  1. 首先在窗体中拖出BarManager控件,窗体Bar add地方点击添加
    img
  2. 设置BarManager的属性 设置出现的窗体的底部【DockStyle=Bottom】
    img
  3. 点击Add DropDown Menu 添加下拉菜单
    img
    出现下拉菜单
    img
  4. 设置下拉菜单中的子菜单
    选中下拉菜单,然后点击下面的Add添加子菜单 【这里吐槽一下Dev这个设计器,是真的不好用,他把所有的子菜单都展示出来了,点上面的分类也不好使】
    img
  5. 在菜单中设置图片以及图片和文字显示方式
    img
  6. 设置子菜单的点击事件 在设计器中添加的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 控件

实现效果:实现多个子窗体同时展开,并出现在唯一的父窗体中。
img

  1. 首先在窗体中拖出XtraTabbedMdiManager控件
    img
  2. 设置窗体的属性为IsMidContainer=true
    img
  3. 在上面菜单按钮的点击事件中写入代码
 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;
                 }
             }
         }
     }

本篇文章仅作为学习记录,如有错误欢迎大佬指出

posted @   我本梁人  阅读(728)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示