Devperience 12.1 ribbonForm窗体里显示其他窗体

1.首先创建一个windform项目

2.添加一个Ribbon Form,如图所示Dxperience v12.1 Ribbon Form

 

再多建一个Ribbon Form,项目结构如下:

从工具栏拖一个dockManage放到RibbonForm1

如上图所示,选择dockManage的箭头--弹出列表--选择Add Panel at left,然后在dockPanel里加一个navBarGroup,右键navBarGroup添加两个子项。

RibbonForm1要修改属性

IsMdiContainer=True,这样才能在这个窗体里显示其他窗体。

RibbonForm1代码

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using DevExpress.XtraBars;  
  9. using DevExpress.XtraBars.Ribbon;  
  10.   
  11. namespace WindowsFormsApplication1  
  12. {  
  13.     public partial class RibbonForm1 : DevExpress.XtraBars.Ribbon.RibbonForm  
  14.     {  
  15.         public RibbonForm1()  
  16.         {  
  17.             InitializeComponent();  
  18.             initevent();//初始化事件  
  19.             MainRibbonForm = this;  
  20.         }  
  21.         private void initevent()  
  22.         {  
  23.             navBarItem1.LinkClicked+=new DevExpress.XtraNavBar.NavBarLinkEventHandler(navBarItem1_LinkClicked);  
  24.             navBarItem2.LinkClicked+=new DevExpress.XtraNavBar.NavBarLinkEventHandler(navBarItem2_LinkClicked);  
  25.         }  
  26.         private void navBarItem1_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)  
  27.         {  
  28.             nbiOpenLink(new RibbonForm2(), "新开的窗口");  
  29.               
  30.         }  
  31.         private void navBarItem2_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)  
  32.         {  
  33.             nbiOpenLink(new RibbonForm1(), "新开的窗口");  
  34.   
  35.         }  
  36.         public static RibbonForm1 MainRibbonForm { getset; }  
  37.         public static void nbiOpenLink(Form frm, string caption)  
  38.         {  
  39.             try  
  40.             {  
  41.                 MainRibbonForm.Cursor = Cursors.WaitCursor;  
  42.                 frm.Text = caption;  
  43.                 frm.MdiParent = MainRibbonForm;  
  44.                 var f = frm as RibbonForm; if (f != null)  
  45.                 {  
  46.                     f.Ribbon.AllowMinimizeRibbon = true;  
  47.                     f.Ribbon.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.True;  
  48.                     f.Ribbon.Minimized = true;  
  49.                     //f.Ribbon.ApplicationIcon = Program.icoWinform.ToBitmap();  
  50.                 }  
  51.                 frm.Show();  
  52.                 MainRibbonForm.Cursor = Cursors.Default;  
  53.             }  
  54.             catch (Exception e)  
  55.             {  
  56.   
  57.             }  
  58.         }  
  59.     }  
  60. }  
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraBars;
using DevExpress.XtraBars.Ribbon;

namespace WindowsFormsApplication1
{
    public partial class RibbonForm1 : DevExpress.XtraBars.Ribbon.RibbonForm
    {
        public RibbonForm1()
        {
            InitializeComponent();
            initevent();//初始化事件
            MainRibbonForm = this;
        }
        private void initevent()
        {
            navBarItem1.LinkClicked+=new DevExpress.XtraNavBar.NavBarLinkEventHandler(navBarItem1_LinkClicked);
            navBarItem2.LinkClicked+=new DevExpress.XtraNavBar.NavBarLinkEventHandler(navBarItem2_LinkClicked);
        }
        private void navBarItem1_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            nbiOpenLink(new RibbonForm2(), "新开的窗口");
            
        }
        private void navBarItem2_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            nbiOpenLink(new RibbonForm1(), "新开的窗口");

        }
        public static RibbonForm1 MainRibbonForm { get; set; }
        public static void nbiOpenLink(Form frm, string caption)
        {
            try
            {
                MainRibbonForm.Cursor = Cursors.WaitCursor;
                frm.Text = caption;
                frm.MdiParent = MainRibbonForm;
                var f = frm as RibbonForm; if (f != null)
                {
                    f.Ribbon.AllowMinimizeRibbon = true;
                    f.Ribbon.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.True;
                    f.Ribbon.Minimized = true;
                    //f.Ribbon.ApplicationIcon = Program.icoWinform.ToBitmap();
                }
                frm.Show();
                MainRibbonForm.Cursor = Cursors.Default;
            }
            catch (Exception e)
            {

            }
        }
    }
}


 

program.cs代码

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Windows.Forms;  
  5.   
  6. namespace WindowsFormsApplication1  
  7. {  
  8.     static class Program  
  9.     {  
  10.         /// <summary>  
  11.         /// 应用程序的主入口点。  
  12.         /// </summary>  
  13.         [STAThread]  
  14.         static void Main()  
  15.         {  
  16.             Application.EnableVisualStyles();  
  17.             Application.SetCompatibleTextRenderingDefault(false);  
  18.             Application.Run(new RibbonForm1());  
  19.         }  
  20.     }  
  21. }  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new RibbonForm1());
        }
    }
}

 好了,我们调试一下:

点击navBarItem1:


 

看到已经在导航栏右边显示了ribbonForm2,我们在代码里给它在这里打开时重命名:“新开的窗口”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值