繁体   English   中英

WPF使用图像作为光标,但鼠标事件在按钮上不起作用

[英]WPF Using an image as a cursor but mouse events are not working over buttons

我通过使用鼠标坐标平移图像来将PNG图像用作光标,它移动非常好。 问题是当我尝试单击按钮时,由于某种原因,当我将鼠标移到按钮上方时,按钮会闪烁。 该按钮变为非活动状态或未聚焦,并且鼠标单击不起作用,直到几分之一秒,如果我一直移动鼠标并单击按钮,则鼠标单击有效。 我也尝试过z-index没有任何结果。

当我尝试没有图像的隐藏光标时,鼠标事件将正常工作。 这是我正在使用的代码:

TranslateTransform T = new TranslateTransform();

    public GameTitle()
    {
        InitializeComponent();

        Mouse.OverrideCursor = Cursors.None;
        this.MouseMove += GameTitle_MouseMove;

        CompositionTarget.Rendering +=CompositionTarget_Rendering;
    }

    void CompositionTarget_Rendering(object sender, EventArgs e)
    {
        CursorImage.RenderTransform = T;
    }

    void GameTitle_MouseMove(object sender, MouseEventArgs e)
    {
        T.X = e.GetPosition(this).X;
        T.Y = e.GetPosition(this).Y;
    }

这是与图像光标一起使用的:

结果

这没有隐藏图像光标和鼠标光标: 在此处输入图片说明

如何使按钮与图像光标一起使用? 在此先感谢您的帮助!

在写问题时,我一直在寻找答案,并且发现了这个不错的软件( http://www.aha-soft.com/artcursors/cur-editor.htm ),该软件可以帮助我读取PNG图像并将其另存为游标(* .cur)文件。 然后,我将文件添加到Visual Studio中的项目资源中,并添加了以下代码,如https://stackoverflow.com/a/8715560/1278771中的答案之一所述:

Mouse.OverrideCursor = new Cursor(new System.IO.MemoryStream(MyNameSpace.Properties.Resources.TheResourceName));

现在,它的工作非常好!:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM