现有一winform程序,中间有一个tabcontrol控件,现在需要判断当没有对tabcontrol操作超过10分钟后,系统就需要重新登录,这个无操作如何来获取?不能是失去焦点,因为当我选中后10分钟没有进行操作也算超时,麻烦大家给提示一下,谢谢。

解决方案 »

  1.   

    使用一个Timer控件
    当窗体加载或tabcontrol控件获得焦点时启用Timer计时(每次计时前先清空)
    在Timer的Tick事件里写你要做的事情(让用户重新登录等)
      

  2.   

    对于焦点来说可以判断有没有键盘按键输入,当前TabControl中添加相应的KeyPress事件,有按键就将计时器归零
    对于鼠标指针来说,看TabControl获得焦点时点击的区域是不是在TabControl区域在屏幕对应座标内的区域
    是则计时器归零没有类似的行为触发计时器归零,则可以判断无相关操作,重新登录操作无非是键盘操作和鼠标操作