6

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

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

我找到了一个使用如下代码的示例:

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

但这不起作用。

4

4 回答 4

10

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

另一种避免猜测的方法:项目+属性,资源选项卡。单击“添加资源”按钮上的箭头,添加现有文件并选择您的 .cur 文件。使您的代码如下所示:

Dim ms As New System.IO.MemoryStream(My.Resources.Cursor1)
Button1.Cursor = New Cursor(ms)
于 2009-01-11T17:53:49.873 回答
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)
于 2009-01-11T19:37:05.360 回答
0

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

MyNamespace.MySubfolder.Window.cur

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

于 2009-01-11T04:51:24.053 回答
0

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

在您的 Form.Load 事件中,您会执行以下操作 -

Button1.Cursor = New Cursor(Me.GetType(), "Cursor1.cur")
于 2009-01-11T16:26:05.947 回答