如何在 .NET 应用程序中使用自定义鼠标光标?
好吧,正如标题所说,如何将图像或其他任何东西设置为鼠标光标。 我知道您可以使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
最简单的是,您只需使用:
但是有一些重载需要从其他源(非托管指针、原始流或 resx)加载。
At the simplest, you just use:
But there are overloads to load from other sources (an unmanaged pointer, a raw stream, or a resx).
如果您想了解有关如何创建自己的光标资源的更多信息,那么有一个很好的教程 在这里。 您应该创建光标文件并将其作为资源嵌入到可执行文件中 - 在 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.
首先将自定义光标添加到您的项目中,然后非常简单:
然后将其分配给您的控件
First add the custom cursor to your project then it's pretty simple:
Then just assign it to your controls
除了上面提到的之外,您还可以这样做:
并且游标可以是:
应用程序启动
箭
箭CD
叉
手
帮助
笔
向上箭头
或其他。
In addition to what mentioned above, you can do this:
and Cursors can be :
AppStarting
Arrow
ArrowCD
Cross
Hand
Help
Pen
UpArrow
or others.