从资源文件设置自定义光标

发布于 2024-07-11 09:49:50 字数 284 浏览 6 评论 0原文

在我的 VB.net 项目中,我创建了一个自定义光标 (Window.cur)。 如何将其分配给光标,而不必使用该文件的完整文件路径?

VB.Net 有 My.Resources,但它不显示嵌入在项目中的光标。

我找到了一个使用这样的代码的示例:

New Cursor(Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("Window.cur")  

但这不起作用。

In my VB.net project I created a custom cursor (Window.cur). How can I assign that to the cursor without having to use the full file path to that file?

VB.Net has My.Resources but it does not show the cursors that are embedded in the project.

I found an example that used code like this:

New Cursor(Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream("Window.cur")  

but that does not work.

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

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

发布评论

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

评论(4

表情可笑 2024-07-18 09:49:50

猜测资源名称可能很困难。 要找到答案,请在您的程序上运行 Ildasm.exe。 双击“Manifest”并查找 .mresource。

另一种避免猜测的方法是:项目+属性,资源选项卡。 单击“添加资源”按钮上的箭头,添加现有文件并选择您的 .cur 文件。 让你的代码看起来像这样:

Dim ms As New System.IO.MemoryStream(My.Resources.Cursor1)
Button1.Cursor = New Cursor(ms)

Guessing the resource name can be difficult. To find out, run Ildasm.exe on your program. Double-click "Manifest" and look for the .mresource.

Another way to do it that avoids guessing: Project + Properties, Resource tab. Click the arrow on the "Add Resource" button, Add Existing File and select your .cur file. Make your code look like this:

Dim ms As New System.IO.MemoryStream(My.Resources.Cursor1)
Button1.Cursor = New Cursor(ms)
酷到爆炸 2024-07-18 09:49:50

谢谢您的帮助! 我假设如果我在 Visual Studio IDE 中创建资源,它会将其添加到我的项目中。 傻我啊!

我必须转到“项目”选项卡,使用“添加资源”添加 Window.Cur 文件(感谢 nobugz!),然后使用他提到的代码:

Dim ms As New System.IO.MemoryStream(My.Resources.Window)

Button.Cursor = New Cursor(ms)

Thanks for the help! I assumed that if I created the resource in the Visual Studio IDE it would add it to my project. Silly me!

I had to go to the Project tab to add the Window.Cur file using Add Resource (thanks nobugz!) and then use the code he mentioned:

Dim ms As New System.IO.MemoryStream(My.Resources.Window)

Button.Cursor = New Cursor(ms)
﹉夏雨初晴づ 2024-07-18 09:49:50

假设您将“Cursor1.cur”指定为控件“Button1”的光标。

在你的 Form.Load 事件中你会做类似的事情 -

Button1.Cursor = New Cursor(Me.GetType(), "Cursor1.cur")

Suppose you are assigning "Cursor1.cur" to be the cursor for the control "Button1."

In your Form.Load event you would do something like -

Button1.Cursor = New Cursor(Me.GetType(), "Cursor1.cur")
七颜 2024-07-18 09:49:50

您缺少名称空间。 您可能想要使用:

MyNamespace.MySubfolder.Window.cur

编辑:另外,请确保该项目的构建操作是“嵌入式资源”,否则它将不会包含在您的 dll/exe 中。

You are missing the namespace. You probably want to use:

MyNamespace.MySubfolder.Window.cur

EDIT: Also, make sure your Build Action for the item is "Embedded Resource", otherwise it will not be include in your dll/exe.

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