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

时间:2017-12-27 12:34:07

标签: c# winforms mouse-cursor

我为自己的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);

仅适用于应用程序级别的技巧吗?

1 个答案:

答案 0 :(得分:0)

我没有进行过探测,但是如果您设置了Cursor.Current属性并设置了Application.UseWaitCursor,那么您就可以获得所需内容。

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