在我的VB.net项目中,我创建了一个自定义游标(Window.cur)。如何在不使用该文件的完整文件路径的情况下将其分配给游标?
VB.Net有My.Resources,但它没有显示项目中嵌入的游标。
我找到了一个使用如下代码的示例: 新光标(Reflection.Assembly.GetExecutingAssembly.GetManifestResourceStream(“Window.cur”)但不起作用。
答案 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位彩色光标。