如何实现某些按钮在移动鼠标时出现一段时间,然后在鼠标静止时消失?

发布于 2024-12-26 06:18:42 字数 834 浏览 3 评论 0原文

我使用 MouseMove 事件来检测鼠标移动,因此我可以更改按钮的可见性。鼠标停止移动后,按钮仍然在那里,因为我不知道如何以及在哪里计算时间以使这些按钮再次不可见。

这些按钮是全屏视频播放器上的控件,因此也欢迎任何其他想法。

private void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        timer.Stop();

        button1.Visibility = Visibility.Hidden;
        button2.Visibility = Visibility.Hidden;
    }

    private void mediaElement1_MouseMove(object sender, MouseEventArgs e)
    {
        if (!timer.Enabled)
        {
            timer.Enabled = true;
            return;
        }
        if (timer.Enabled)
        {
            timer.Interval = 2000;
            timer.Start();

            button1.Visibility = Visibility.Visible;
            button2.Visibility = Visibility.Visible;

            timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        }
    }

I used MouseMove event to detect mouse movement, so I could change the visibility of my buttons. After the mouse has stopped moving, the buttons are still there, because I don't know how and where to count for the time to make those buttons invisible again.

Those buttons are controls on video player in full screen, so any other idea is also welcomed.

private void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        timer.Stop();

        button1.Visibility = Visibility.Hidden;
        button2.Visibility = Visibility.Hidden;
    }

    private void mediaElement1_MouseMove(object sender, MouseEventArgs e)
    {
        if (!timer.Enabled)
        {
            timer.Enabled = true;
            return;
        }
        if (timer.Enabled)
        {
            timer.Interval = 2000;
            timer.Start();

            button1.Visibility = Visibility.Visible;
            button2.Visibility = Visibility.Visible;

            timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

很酷又爱笑 2025-01-02 06:18:42

最好的选择是使用某种形式的计时器,例如 定时器类。然后,您可以连接到 Elapsed< /code>事件并使用其中的处理程序来计算经过的时间。一旦达到一定的时间阈值,您就可以隐藏按钮。因此,代码步骤的示例如下:

  1. 用户移动鼠标。
  2. 显示按钮。
  3. 用户停止移动鼠标。
  4. 启动计时器。
  5. 计算 Timer.Elapsed 事件的时间。
  6. 时间计数达到阈值。
  7. 隐藏按钮并停止计时器。

显示事件和流程的活动图

Your best bet would be to utilize some form of timer, such as the Timer class. You can then hook up to the Elapsed event and use the handler inside there to count the time elapsed. Once you reach a certain time threshold, you can then hide the buttons. So an example of the code steps would be something like:

  1. User moves mouse.
  2. Show buttons.
  3. User stops moving mouse.
  4. Start timer.
  5. Count time on Timer.Elapsed event.
  6. Time count reaches threshold.
  7. Hide buttons and stop the timer.

Activity Diagram Showing Events and Process

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文