隐藏鼠标光标前的空闲时间 [英] Hide mouse cursor after an idle time

查看:195
本文介绍了隐藏鼠标光标前的空闲时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想隐藏的空闲时间后,我的鼠标光标移动,它就会出现了,当我移动鼠标。我试图用一个计时器,但它并不能很好地工作。有谁能够帮助我?请!

I want to hide my mouse cursor after an idle time and it will be showed up when I move the mouse. I tried to use a timer but it didn't work well. Can anybody help me? Please!

推荐答案

下面是如何做到这一点做作的例子。你可能有一些失踪的逻辑被覆盖光标的可见性:

Here is a contrived example of how to do it. You probably had some missing logic that was overriding the cursor's visibility:

public partial class Form1 : Form
{
    public TimeSpan TimeoutToHide { get; private set; }
    public DateTime LastMouseMove { get; private set; }
    public bool IsHidden { get; private set; }

    public Form1()
    {
        InitializeComponent();
        TimeoutToHide = TimeSpan.FromSeconds(5);
        this.MouseMove += new MouseEventHandler(Form1_MouseMove);
    }

    void Form1_MouseMove(object sender, MouseEventArgs e)
    {
        LastMouseMove = DateTime.Now;

        if (IsHidden) 
        { 
            Cursor.Show(); 
            IsHidden = false; 
        }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        TimeSpan elaped = DateTime.Now - LastMouseMove;
        if (elaped >= TimeoutToHide && !IsHidden)
        {
            Cursor.Hide();
            IsHidden = true;
        }
    }
}

这篇关于隐藏鼠标光标前的空闲时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆