CSFrameworkV6旗舰版 | 迭代开发 | 当前导航菜单、模块按钮与活动窗体同步|C/S开发框架
CSFrameworkV6旗舰版 - 迭代开发 - 当前导航菜单、模块按钮与活动窗体同步
前言
- 点击导航菜单或模块按钮自动激活当前窗体
- 切换窗体标签自动定位菜单
要求
- 窗体必须MdiChild子窗体(继承 frmBaseChild 基类)
- 模块菜单必须绑定权限实例
自动激活窗体菜单
解决方案
步骤1:frmMain主窗体xtraTabbedMdiManager1组件实现SelectedPageChanged事件
private void xtraTabbedMdiManager1_SelectedPageChanged(object sender, EventArgs e)
{
var form = xtraTabbedMdiManager1.SelectedPage.MdiChild;//获取当前窗体实例
var menuName = (form as IPurviewControllable)?.FormMenuName;//获取打开窗体的菜单名
_ModuleManager.CurrentNavigator.FocusMenu(menuName);//调用策略接口
}
步骤2:替换NavigatorLoader.cs
文件位置:CSFrameworkV6.Library\CommonClass\NavigatorLoader.cs
实现思路:
- NavigatorBase类添加FocusMenu虚拟方法
- NavigatorBarList、NavigatorTreeView两个派生的策略类重写(override)FocusMenu方法定位菜单项。
扫一扫加作者微信