解决frmMain窗体的Dock组件根据NavBarControl自动同步缩放
解决frmMain窗体的Dock组件根据NavBarControl自动同步缩放
接上文:关于NavBarControl点击ExpandButton缩放后不能控制Dock组件的问题 解决方案2:不隐藏ShowExpandButton实现NavBarControl自动缩放。 打开frmMain.cs文件,添加以下代码: C# Code: //NavBarControl尺寸改变时的标记 private bool _OnSizeChangingNavBar = false; private void navBarControl1_SizeChanged(object sender, EventArgs e) { if (_OnSizeChangingNavBar) return; if (_OnSizeChangingDock) return; try { _OnSizeChangingNavBar = true; if (dockPanel1.Visibility == DockVisibility.Visible && navBarControl1.Visible && navBarControl1.Width > 0) { dockPanel1.Width = navBarControl1.Width; } } finally { _OnSizeChangingNavBar = false; } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 修改原有dockPanel1_SizeChanged事件的代码: C# Code: //Doc组件尺寸改变时的标记 private bool _OnSizeChangingDock = false; //frmMain.dockPanel1_SizeChanged private void dockPanel1_SizeChanged(object sender, EventArgs e) { if (_OnSizeChangingDock) return; try { this.SuspendLayout(); _OnSizeChangingDock = true; navBarControl1.Dock = DockStyle.None; navBarControl1.Left = xtraScrollableControl1.DisplayRectangle.X;//滚动容器的实际坐标 navBarControl1.Top = xtraScrollableControl1.DisplayRectangle.Y;//滚动容器的实际坐标 navBarControl1.NavigationPaneGroupClientHeight = 100;//导航按钮展开显示明细菜单区域的高度。 navBarControl1.Height = navBarControl1.Groups.Count * 70 + navBarControl1.NavigationPaneGroupClientHeight;//手工指定NavBar组件的高度 navBarControl1.OptionsNavPane.ShowOverflowButton = false;//不显示底部的动态扩展按钮 navBarControl1.OptionsNavPane.ShowOverflowPanel = false;//不显示底部的动态扩展按钮区域 xtraScrollableControl1.HorizontalScroll.Visible = false;//不显示横向滚动条 //若NavBar显示垂直滚动条,要预留明细区域的滚动条,约25个像素 if (xtraScrollableControl1.VerticalScroll.Visible) navBarControl1.Width = dockPanel1.Width - 25;//右侧预留边距 else navBarControl1.Width = dockPanel1.Width - 5;//右侧预留边距 //NavBar全屏自适应高度 if (dockPanel1.ClientSize.Height - 60 > navBarControl1.Height) navBarControl1.Height = dockPanel1.ClientSize.Height - 60; } finally { _OnSizeChangingDock = false; this.ResumeLayout(); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
使用Dock.Fill控件被遮挡解决方法(将被遮挡的组件设置为顶层既可解决) 【原创】C# Dev用户自定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit 【原创】C# Winform Dev自动下拉弹框筛选数据PopupContainerEdit组件 关于NavBarControl点击ExpandButton缩放后不能控制Dock组件的问题 数据字典基础资料窗体主键设置为自动生成流水号码解决方案 数据字典窗体根据某个字段类型自动生成改类型的流水序号 C# NavBarControl根据鼠标点击位置获取 NavBarGroup 对象 C# DataGridView组件自动添加弹出菜单(ContextMenuStrip)复制单元格的值 C# TreeView组件TreeNode节点自动勾选解决方案(TreeViewNodeCheckHander) VS2017打开vs解决方案提示自动升级DevExpress 17.x 生成的窗体Form源码集成到VS解决方案 - C/S框架三层架构代码生成器操作指南 VS.NET 窗体继承 - 按钮组件隐藏或位置不正确解决方案 新增菜单窗体没有显示也不能导入菜单解决方案 - MenuItemTag详解 主窗体的导航菜单及树结构菜单实现多语言(翻译英文越南文) Winform开发框架代码生成器 - 支持生成输入组件自适应窗体(LayoutControl)
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |