飞鱼开发框架(二) 进入主界面自动打开用户常用模块窗口(图文)
来源:互联网 发布:入侵赌博网站修改数据 编辑:程序博客网 时间:2024/04/30 06:03
进入飞鱼框架后,软件会根据系统设定的用户常用模块自动为用户打开,在打开的过程中增加了一个Loading图层提示用户进行等待。
初始进入,开始打开工作台窗口:
正在打开的过程中:
打开结束:
在打开窗口的过程中,实际程序这行这个动作应该是很快的,即使窗口多一点如果不对其控制的话也是转瞬就会完成,容易造成用户还没看明白怎么回事,就已经完成了这个打开的过程。
为了让用户有更好的体验,知道系统在做什么,这里除了添加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 页 } } }
0 0
- 飞鱼开发框架(二) 进入主界面自动打开用户常用模块窗口(图文)
- 飞鱼开发框架(三) 配置用户常用模块窗口的工作台(图文)
- 飞鱼开发框架(一) 给软件登陆窗口增加记住密码和自动登陆功能(图文)
- 飞鱼开发框架(四) 窗体自动获取用户登录信息
- 通达OA二次开发 小飞鱼OA工资上传数据模块开发(图文)
- MFC框架界面开发(二):框架界面的分隔窗口
- android开发之Splash界面支持用户点击 直接进入主界面
- 小飞鱼 OA工作流定制设计开发(图文)
- Android Splash界面支持用户点击 直接进入主界面
- Android Splash界面支持用户点击 直接进入主界面
- Android Splash界面支持用户点击 直接进入主界面
- win7 自动进入用户
- .NET快速信息化系统开发框架 V3.2 -> Web 用户管理模块编辑界面-组织机构选择支持级联选择
- C#笔记1——如何在登录界面设置主界面的ToolStripMenuItem的enabled属性,实现不同用户进入不同模块
- 关于打开APP进入欢迎界面后,自动跳到主页面的解决方法
- 进入vim自动打开winmanager
- 小飞鱼软件 通达OA工作流超时自动转交程序(图文)
- 隐藏主窗口框架的界面
- CE6内核启动过程-新角度
- C#.NET:ref和out的区别
- MyBatis官方下载地址(含mybatis-spring)
- tabhost随着输入框移动的问题
- get方法
- 飞鱼开发框架(二) 进入主界面自动打开用户常用模块窗口(图文)
- log4j 日志
- 他竟用程序求婚成功..
- cocos2d-x 使用CCLabelAtlas自定义字体
- 实现苹果和虫子(c语言)
- 基于visual Studio2013解决C语言竞赛题之1069链表查找删除
- Windows 内核的版本
- 优化RIL驱动,巧解WinCE电话漏接难题
- Android MD5加密算法