从资源文件设置自定义光标
在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
猜测资源名称可能很困难。 要找到答案,请在您的程序上运行 Ildasm.exe。 双击“Manifest”并查找 .mresource。
另一种避免猜测的方法是:项目+属性,资源选项卡。 单击“添加资源”按钮上的箭头,添加现有文件并选择您的 .cur 文件。 让你的代码看起来像这样:
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:
谢谢您的帮助! 我假设如果我在 Visual Studio IDE 中创建资源,它会将其添加到我的项目中。 傻我啊!
我必须转到“项目”选项卡,使用“添加资源”添加 Window.Cur 文件(感谢 nobugz!),然后使用他提到的代码:
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:
假设您将“Cursor1.cur”指定为控件“Button1”的光标。
在你的 Form.Load 事件中你会做类似的事情 -
Suppose you are assigning "Cursor1.cur" to be the cursor for the control "Button1."
In your Form.Load event you would do something like -
您缺少名称空间。 您可能想要使用:
编辑:另外,请确保该项目的构建操作是“嵌入式资源”,否则它将不会包含在您的 dll/exe 中。
You are missing the namespace. You probably want to use:
EDIT: Also, make sure your Build Action for the item is "Embedded Resource", otherwise it will not be include in your dll/exe.