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

时间:2009-01-11 04:45:29

标签: vb.net cursor

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

VB.Net有My.Resources,但它没有显示项目中嵌入的游标。

我找到了一个使用如下代码的示例: 新光标(Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream(“Window.cur”)但不起作用。

5 个答案:

答案 0 :(得分:8)

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

另一种避免猜测的方法:Project + Properties,Resource选项卡。单击“添加资源”按钮,添加现有文件,然后选择.cur文件。使您的代码看起来像这样:

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

答案 1 :(得分:1)

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

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

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

Button.Cursor = New Cursor(ms)

如果可以,我会对答案进行投票,但我不能,因为我目前的价值只有13。

答案 2 :(得分:0)

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

MyNamespace.MySubfolder.Window.cur

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

答案 3 :(得分:0)

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

在您的Form.Load事件中,您可以执行类似的操作 -

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

答案 4 :(得分:0)

你不能使用32位彩色光标。