如何在.NET应用程序中使用自定义鼠标光标?

6
好的,正如标题所说,我该如何将图像或其他任何内容设置为鼠标光标。我知道你可以使用 Cursors 类中内置的那些,但我想知道是否有一种方法可以使用自己的图像(最好不用 P/Invoke,但无论哪种方式都可以)。
编辑:我想我没有清楚地解释我想要的东西。我没有任何 .cur 文件(它们很容易创建吗?),我想知道是否有一种方法可以从磁盘(或其他地方)获取图像并将其用作光标。最终我想做的事情是这样的:
myForm.Cursor = new Cursor(Image.FromFile("foo.jpg"));

可以的吗?

关于编辑 - 可以参考这里:http://www.vgdotnet.org/forums/viewtopic.php?t=185 - Marc Gravell
4个回答

8

最简单的方法就是使用:

form.Cursor = new Cursor(path);

但是还有其他的重载方法可以从其他来源加载(非托管指针、原始流或resx)。


3
如果您想了解如何创建自己的光标资源,可以参考这个不错的教程(链接在此)。您应该创建自己的光标文件并将其嵌入到可执行文件中 - 在Visual Studio中很容易完成。这比从单独的文件中加载更整洁和高效。然后,您可以直接使用带有资源名称的Cursor构造函数来加载它。

2
首先将自定义光标添加到您的项目中,然后操作非常简单:
Cursor myCursor = new Cursor("custom.cur");

然后将其分配给您的控件。
someControl.cursor = myCursor

0

除了上面提到的,你还可以这样做:

Mouse.OverrideCursor = Cursors.Arrow;

光标可以是以下之一: AppStarting Arrow ArrowCD Cross Hand Help Pen UpArrow 或其他。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接