当前位置: 首页 > news >正文

免费网站建设360网页电子书在线阅读器wordpress

免费网站建设360,网页电子书在线阅读器wordpress,cn域名后缀网站,福州网站设计服务思路 在WPF应用程序中实现长时间未操作自动退出#xff0c;主要思路是先收集用户操作行为#xff0c;用一个全局变量记录用户最后操作时间#xff0c;再用一个异步线程去监控用户的最后操作时间和当前时间进行比较如果超过了设定时间认为长时间未操作自动退出登录并显示相关…思路 在WPF应用程序中实现长时间未操作自动退出主要思路是先收集用户操作行为用一个全局变量记录用户最后操作时间再用一个异步线程去监控用户的最后操作时间和当前时间进行比较如果超过了设定时间认为长时间未操作自动退出登录并显示相关日志消息。 有一个问题自动退出后当前停留的界面功能是否还有权限使用呀这个问题要怎么解决大家可以自己去想想我是解决了。如果想和我交流可以在评论区讨论。 收集用户操作行为 我想到了两种方式 一、在所有按钮或功能中调用一个公共方法记录用户的操作行为。优点实现简单不足如果系统功能多且在系统要完工时加这个功能那工作量不少哦代码改动面也大可能改出其他BUG。 二、可以通过监听用户的鼠标和键盘事件来实现。优点改动小工作量小。不足有点难没事有我呢。我来分享。我用的就是这种方法 监听用户的鼠标和键盘事件来实现 在主窗口如MainWindow中设置一个计时器如DispatcherTimer。 当用户进行鼠标或键盘操作时判断是否超时没有超时更新用户最后操作时间否则调用自动退出方法。 如果计时器到达设定的时间且没有其他操作事件触发则调用自动退出方法。 示例代码 /// summary /// MainWindow.xaml 的交互逻辑 /// /summary public partial class MainWindow : System.Windows.Window {/// summary /// 刷新时间 /// /summary private readonly DispatcherTimer _timerwatchpermit new DispatcherTimer();public MainWindow(){InitializeComponent();this.MouseMove MainWindow_MouseMove;this.KeyDown MainWindow_KeyDown;this.Loaded MainWindow_Loaded;}/// summary/// 键盘按下事件/// /summary/// param namesender/param/// param namee/param/// exception crefNotImplementedException/exceptionprivate void MainWindow_KeyDown(object sender, KeyEventArgs e){userOperationLastTimeMonitoringAndUpdate();}/// summary/// 鼠标移动事件/// /summary/// param namesender/param/// param namee/param/// exception crefNotImplementedException/exceptionprivate void MainWindow_MouseMove(object sender, MouseEventArgs e){userOperationLastTimeMonitoringAndUpdate();}/// summary/// 用户操作时间监控和更新/// /summaryprivate void userOperationLastTimeMonitoringAndUpdate(){if (Global.UserOperationLastTime ! SystemConst.DateTimeDefault !Global.user_permit.Equals(操作员)){//检查是否超过指定分钟数验证SystemConfigConst.UserOperationMaxMinute是配置的超时时间if (DateTime.Now Global.UserOperationLastTime.AddMinutes(SystemConfigConst.UserOperationMaxMinute)){//超过了自动退出登录Global.UserLogOut(true);}else{Global.UserOperationLastTime DateTime.Now;}}}private void MainWindow_Loaded(object sender, RoutedEventArgs e){//Log_Msg.Foreground Brushes.Wheat;//#AAFFFFFFLog_Msg.Foreground new SolidColorBrush((Color)ColorConverter.ConvertFromString(#AAFFFFFF));Log_Alm.Foreground Log_Msg.Foreground;Log_SocketMsg.Foreground Log_Msg.Foreground;Log_SendNeedleLog.Foreground Log_Msg.Foreground;Log_MonitoringMsg.Foreground Log_Msg.Foreground;cboIsCurrentXY.Foreground Log_Msg.Foreground;_timerwatchpermit.Interval new TimeSpan(0, 0, 0, 1, 0);_timerwatchpermit.Tick Tmr_sacn_Tick;_timerwatchpermit.Start();}private void Tmr_sacn_Tick(object sender, EventArgs e) {try{//CurrentTime DateTime.Now;//MessageHelper.ShowMsg(当前时间: CurrentTime.ToString(yyyy-MM-dd HH:mm:ss), Tmr_sacn_Tick);if (Global.UserOperationLastTime ! SystemConst.DateTimeDefault !Global.user_permit.Equals(操作员)) {//检查是否超过指定分钟数验证if (DateTime.Now Global.UserOperationLastTime.AddMinutes(SystemConfigConst.UserOperationMaxMinute)){//超过了自动退出登录Global.UserLogOut(true);} }}catch (Exception ex){MessageHelper.ShowMsgError(_className .Tmr_sacn_Tick 方法异常- ex, _className .Tmr_sacn_Tick);} } } 当用户的鼠标移动或按下键盘键时会触发MouseMove或KeyDown事件并调用 userOperationLastTimeMonitoringAndUpdate();。如果在设置内没有任何事件被触发计时器会完成并调用Global.UserLogOut(true)方法来退出登录。
http://www.w-s-a.com/news/619077/

相关文章:

  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus
  • 廊坊电子商务网站建设公司网站进不去qq空间
  • 南宁网站推广费用创意网页设计素材模板
  • 深圳技术支持 骏域网站建设wordpress 酒主题
  • 东莞网站建设+旅游网站改版数据来源表改怎么做
  • 手机端做的优秀的网站设计企业做网站大概多少钱
  • 优化网站使用体验手机网站解析域名
  • 网站制作 商务做网站的软件名字全拼
  • 阿里巴巴网官方网站温州网站建设设计
  • 传奇购买域名做网站国外网站设计 网址
  • 西安凤城二路网站建设seo网站是什么
  • 网站后台如何更换在线qq咨询代码在线种子资源网
  • 东莞网站优化制作免费中文wordpress主题下载
  • 东莞建筑设计院排名网络优化论文
  • 做牙工作网站郑州前端开发培训机构
  • 温州专业建站网站制作的管理
  • 公司网站开发策划书有没有专门做教程的网站
  • 江苏省工程建设信息网站一天赚1000块钱的游戏
  • 制作响应式网站报价品牌建设整体体系包括什么
  • 网站推广策划报告目前做win7系统最好的网站
  • 东莞网站建设咨询公江西网站建设平台
  • 什么是网站功能源码下载站
  • 石家庄制作网站的公司双柏县住房和城乡建设局网站
  • 影视vip网站建设教程ppt模板免费下载 素材红色
  • 内蒙古城乡建设部网站首页平台网站建设ppt
  • 集约化网站建设项目官方网站建设
  • 原创先锋 北京网站建设网站开发电脑内存要多少
  • 婚恋网站建设项目创业计划书网站建设 食品
  • 免费建网站代码查询做导员的网站