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

发布于 2024-07-13 01:32:55 字数 314 浏览 6 评论 0原文

好吧,正如标题所说,如何将图像或其他任何东西设置为鼠标光标。 我知道您可以使用 Cursors 类中的内置图像,但我想知道是否有一种方法可以使用您自己的图像(最好没有 P/Invoke,但任何一种方法都可以。)

编辑:我想我没有没有足够清楚地解释我想要什么。 我没有任何 .cur 文件(它们容易创建吗?),我想知道是否有办法从磁盘(或任何地方)获取图像并将其用作光标。 我最终想做的是这样的事情:

myForm.Cursor = new Cursor(Image.FromFile("foo.jpg"));

可能吗?

Well, as the title says, how can I set an image or anything else as the mouse cursor. I know you can use the built in ones that are part of the Cursors class, but I was wondering if there's a way to use your own image (preferably without P/Invoke, but either way is fine.)

EDIT: I guess I didn't explain what I wanted clearly enough. I don't have any .cur files (are they easy to create?), I want to know if there's a way to take an image from disk (or wherever) and use that as the cursor. Ultimatley what I'd like would be to do something like this:

myForm.Cursor = new Cursor(Image.FromFile("foo.jpg"));

Possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

格子衫的從容 2024-07-20 01:32:55

最简单的是,您只需使用:

form.Cursor = new Cursor(path);

但是有一些重载需要从其他源(非托管指针、原始流或 resx)加载。

At the simplest, you just use:

form.Cursor = new Cursor(path);

But there are overloads to load from other sources (an unmanaged pointer, a raw stream, or a resx).

绝影如岚 2024-07-20 01:32:55

如果您想了解有关如何创建自己的光标资源的更多信息,那么有一个很好的教程 在这里。 您应该创建光标文件并将其作为资源嵌入到可执行文件中 - 在 Visual Studio 中很容易。 这比从单独的文件加载它更整洁、更高效。 然后,您可以使用采用资源名称的 Cursor 构造函数直接加载它。

If you want some more information on how to create your own cursor resources then there is a good tutorial here. You should create your cursor file and embed it as a resource in your executable - easy in Visual Studio. This is tidier and more efficient than loading it from a separate file. You can then load it directly using the Cursor constructor that takes a resouce name.

dawn曙光 2024-07-20 01:32:55

首先将自定义光标添加到您的项目中,然后非常简单:

Cursor myCursor = new Cursor("custom.cur");

然后将其分配给您的控件

someControl.cursor = myCursor

First add the custom cursor to your project then it's pretty simple:

Cursor myCursor = new Cursor("custom.cur");

Then just assign it to your controls

someControl.cursor = myCursor
客…行舟 2024-07-20 01:32:55

除了上面提到的之外,您还可以这样做:

Mouse.OverrideCursor = Cursors.Arrow;

并且游标可以是:
应用程序启动

箭CD


帮助

向上箭头
或其他。

In addition to what mentioned above, you can do this:

Mouse.OverrideCursor = Cursors.Arrow;

and Cursors can be :
AppStarting
Arrow
ArrowCD
Cross
Hand
Help
Pen
UpArrow
or others.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文