gpt4 book ai didi

WPF:图片点击事件

转载 作者:行者123 更新时间:2023-12-04 22:01:36 24 4
gpt4 key购买 nike

我只能在 WPF 中的图像上找到 MouseDown 事件和 MouseUp 事件。
如果我在某些图像上执行 MouseDown,移动鼠标和 MouseUp 事件发生在其他图像上,这会导致一些问题。
有没有其他事件可以用来解决这个问题。像 Button 元素的 MouseClick 事件。

最佳答案

如果您真的必须使用图像,那么您可以执行一些操作来检查“点击”。

  • 检查两个事件之间的时间。如果它小于您的阈值,则将鼠标向上视为单击。您需要存储鼠标按下事件的时间。
  • 检查两个事件的 sender 是否相同。同样,您需要存储鼠标按下事件的 sender

  • 您可能还想检查是否按下并释放了左侧按钮。

    两者结合:
        private DateTime downTime;
    private object downSender;

    private void Image_MouseDown(object sender, MouseButtonEventArgs e)
    {
    if (e.LeftButton == MouseButtonState.Pressed)
    {
    this.downSender = sender;
    this.downTime = DateTime.Now;
    }
    }

    private void Image_MouseUp(object sender, MouseButtonEventArgs e)
    {
    if (e.LeftButton == MouseButtonState.Released &&
    sender == this.downSender)
    {
    TimeSpan timeSinceDown = DateTime.Now - this.downTime;
    if (timeSinceDown.TotalMilliseconds < 500)
    {
    // Do click
    }
    }
    }

    实际上,您可以做第三件事:检查鼠标位置。
        private Point downPosition;

    保存位置:
        this.downPosition = e.GetPosition(sender as Image);

    然后在 MouseUp事件中再次检查它,并带有一个公差值。

    关于WPF:图片点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646929/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com