对WinForms应用程序使用自定义光标而不是等待光标(hourglasses)

问题描述 投票:0回答:1

我为自己的WinForms应用程序使用自己的游标;上课看起来像

public class WaitCursor : IDisposable
{
    private readonly Cursor _previousCursor;
    private static Cursor CursorResource
    {
        get
        {
            // get custom cursor from resources here
        }
    }

    private WaitCursor()
    {
        _previousCursor = Cursor.Current;
        Cursor.Current = CursorResource;
    }

    public void Dispose()
    {
        Cursor.Current = _previousCursor;
    }
}

现在它在我使用它时工作正常。

但有没有办法用整个应用程序覆盖系统等待光标?

我发现可以使用覆盖系统等待光标

[DllImport("user32.dll")]
static extern bool SetSystemCursor(IntPtr hcur, uint id);

是否只有应用程序级别的技巧?

c# winforms mouse-cursor
1个回答
0
投票

我没有探测过,但如果你设置了Cursor.Current属性并设置了Application.UseWaitCursor,那么你就会得到你想要的东西。

此外,您可以查看此示例:http://www.blackbeltcoder.com/Articles/winforms/implementing-a-waitcursor-class

© www.soinside.com 2019 - 2024. All rights reserved.