飞鱼开发框架(二) 进入主界面自动打开用户常用模块窗口(图文)
2013-12-10 11:07
411 查看
进入飞鱼框架后,软件会根据系统设定的用户常用模块自动为用户打开,在打开的过程中增加了一个Loading图层提示用户进行等待。
初始进入,开始打开工作台窗口:
正在打开的过程中:
打开结束:
在打开窗口的过程中,实际程序这行这个动作应该是很快的,即使窗口多一点如果不对其控制的话也是转瞬就会完成,容易造成用户还没看明白怎么回事,就已经完成了这个打开的过程。
为了让用户有更好的体验,知道系统在做什么,这里除了添加Loading层进行提示外,在系统中进行了特殊设置,把这个打开的过程拉长,即使用时间控件设置为每0.3秒打开一个窗口,直到所有窗口都打开完毕后关闭Loading层。
先取出需要打开窗口的DataSet(这个用户控制台窗口的配置在下一篇中会讲到):
增加Timer控件,延时300,即0.3秒执行一下打开窗口的动作,动作代码:
打开窗口的动作:
打开的选项卡,用户可以根据需要自行关闭其中一个或者全部关闭,在选项卡上点击右键会弹出相应菜单:
全部关闭代码:
初始进入,开始打开工作台窗口:
正在打开的过程中:
打开结束:
在打开窗口的过程中,实际程序这行这个动作应该是很快的,即使窗口多一点如果不对其控制的话也是转瞬就会完成,容易造成用户还没看明白怎么回事,就已经完成了这个打开的过程。
为了让用户有更好的体验,知道系统在做什么,这里除了添加Loading层进行提示外,在系统中进行了特殊设置,把这个打开的过程拉长,即使用时间控件设置为每0.3秒打开一个窗口,直到所有窗口都打开完毕后关闭Loading层。
先取出需要打开窗口的DataSet(这个用户控制台窗口的配置在下一篇中会讲到):
//窗口对应的ds 提出取来 为了延时 启动时执行一次 private void OpenDBGetDS() { try { string sqlList = @"SELECT [menuText], [WindowClassName] FROM [VW_Authority_Workbench] where userid=" + UserHelper.Id + " order by showOrder"; ds = no1.common.CommonDataSet.GetDataSet(sqlList); } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }
增加Timer控件,延时300,即0.3秒执行一下打开窗口的动作,动作代码:
//延时弹窗timer private void tmOpenFormDelay_Tick(object sender, EventArgs e) { //记录集为空 取消执行 if (ds.Tables[0].Rows.Count==0) { tmOpenFormDelay.Enabled = false; blAlreadySetWorkbenchWindow = false; } if (i < ds.Tables[0].Rows.Count) { OpenMyWorkbench(sender, e); i++; } else { //已全部循环弹窗,结束处理 this.tmOpenFormDelay.Enabled = false; i = 0; plLoading.Visible = false; this.Cursor = Cursors.Default; } }
打开窗口的动作:
//打开工作台下全部窗口 private void OpenMyWorkbench(object sender, EventArgs e) { try { string menuText = ds.Tables[0].Rows[i]["menuText"].ToString(); string windowClassName = ds.Tables[0].Rows[i]["WindowClassName"].ToString(); // 反射生成窗体 Form fm = (Form)Assembly.GetExecutingAssembly().CreateInstance(windowClassName); //添加选项卡 TabPage TabPageCity1 = new TabPage(menuText); TabPageCity1.Name = "KKK"; this.tabControl1.TabPages.Add(TabPageCity1); //设置窗体没有边框 加入到选项卡中 fm.FormBorderStyle = FormBorderStyle.None; fm.TopLevel = false; fm.Parent = TabPageCity1; fm.ControlBox = false; fm.Dock = DockStyle.Fill; fm.Show(); } catch (Exception ex) { MessageBox.Show(ex.StackTrace); } }
打开的选项卡,用户可以根据需要自行关闭其中一个或者全部关闭,在选项卡上点击右键会弹出相应菜单:
全部关闭代码:
//关闭全部选项卡 除首页卡 private void tsmCloseAll_Click(object sender, EventArgs e) { foreach (TabPage tp in this.tabControl1.TabPages) { if (tp.Text.Contains("系统首页")) { ucWinIndexTopTitle1.LbTitle.Text = ""; }else { tp.Dispose(); //关闭全部tabpage 页 } } }
相关文章推荐
- 飞鱼开发框架(二) 进入主界面自动打开用户常用模块窗口(图文)
- 飞鱼开发框架(三) 配置用户常用模块窗口的工作台(图文)
- 飞鱼开发框架(三) 配置用户常用模块窗口的工作台(图文)
- 飞鱼开发框架(一) 给软件登陆窗口增加记住密码和自动登陆功能(图文)
- 飞鱼开发框架(一) 给软件登陆窗口增加记住密码和自动登陆功能(图文)
- 飞鱼开发框架(四) 窗体自动获取用户登录信息
- 飞鱼开发框架(四) 窗体自动获取用户登录信息
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->用户管理模块新增“重置用户密码”功能
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->用户管理模块新增“重置用户密码”功能
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架- 5.4平台日志、异常管理、生成自动升级配置文件模块
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架- 5.4平台日志、异常管理、生成自动升级配置文件模块
- Winform开发框架之通用自动更新模块(转)
- Word二次开发--用户编辑时自动显示提示窗口
- 通达OA 对通达2015版微信查询用户信息模块升级开发(图文)
- .NET快速信息化系统开发框架 V3.2 -> Web 用户管理模块编辑界面-组织机构选择支持级联选择
- 通达OA 对通达2015版微信查询用户信息模块升级开发(图文)
- NET快速信息化系统开发框架 V3.2 -> “用户管理”主界面使用多表头展示、增加打印功能
- SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存以及将数据放在application
- Winform开发框架之通用自动更新模块
- .NET快速信息化系统开发框架 V3.2 -> Web 用户管理模块编辑界面-组织机构选择支持级联选择