navBarControl控件收宿时点击组图标,显示NavigationPane导航面板


版本为 14.2或以上的可以直接如下调用:

1 private void navBarControl1_ActiveGroupChanged(object sender, DevExpress.XtraNavBar.NavBarGroupEventArgs e)
2 {
3    if (navBarControl1.OptionsNavPane.NavPaneState ==NavPaneState.Collapsed)
4       {
5          navBarControl1.ShowNavPaneForm();
6       }
7 }

其它低版本:

using DevExpress.Utils;
using DevExpress.XtraNavBar;
using DevExpress.XtraNavBar.ViewInfo;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            navBarControl1.Click += navBarControl1_Click;
            navBarControl1.ActiveGroupChanged += navBarControl1_ActiveGroupChanged;
        }

        private void ShowActiveGroupPopup()
        {
            if (navBarControl1.OptionsNavPane.NavPaneState == NavPaneState.Collapsed)
            {
                NavBarViewInfo viewInfo = navBarControl1.GetViewInfo();
                var mi = viewInfo.GetType().GetMethod("DoContentButtonPress", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                mi.Invoke(viewInfo, null);
            }
        }
        void navBarControl1_ActiveGroupChanged(object sender, NavBarGroupEventArgs e)
        {
            if (navBarControl1.OptionsNavPane.NavPaneState == NavPaneState.Collapsed)
            {
                ShowActiveGroupPopup();
            }
        }

        void navBarControl1_Click(object sender, EventArgs e)
        {
            var args = (MouseEventArgs)e;
            var hi = navBarControl1.CalcHitInfo(args.Location);
            if (hi.InGroupCaption && hi.Group == navBarControl1.ActiveGroup)
                ShowActiveGroupPopup();
        }

        
    }


}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM