小弟有个需求 就是当鼠标停留在一个 form上5秒后 那么这个form自动关闭 该如何实现?

解决方案 »

  1.   

    原理
    public   static   extern   bool  GetLastInputInfo( ref    LASTINPUTINFO plii);参考
    http://blog.csdn.net/jinjazz/archive/2008/02/21/2110620.aspx
      

  2.   

    private void TerminalDue_MouseMove(object sender, MouseEventArgs e)
            {
                timer1.Start();
                TerminalDue td = new TerminalDue();
                td.Hide();
                timer1.Stop();
            }
    我这么写 设置 断点进去 这个mousermove事件是可以促发的,就是那个计时器没反应 我在form的属性处已经设置了interval为5000了
      

  3.   

    给你写一下吧:        int times = 0; //先设一个时间
            private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
                timer.Interval = 1000;
                timer.Enabled = true;
                timer.Start();
                timer.Tick += new EventHandler(timer_Tick);
            }        void timer_Tick(object sender, EventArgs e)
            {            
                times++;
                if (times == 5)
                {
                    this.Close();
                }
            }