【问题标题】:Set Custom Cursor from Resource File从资源文件设置自定义光标
【发布时间】:2010-09-30 17:59:01
【问题描述】:

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

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

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

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

但这不起作用。

【问题讨论】:

    标签: vb.net mouse-cursor


    【解决方案1】:

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

    MyNamespace.MySubfolder.Window.cur
    

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

    【讨论】:

    • ocdecio:你能说得更具体些吗?我尝试了你提到的所有我能想到的变化。 VB.Net 没有我所看到的 MyNamespace(当然我可能是错的)。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-25
          • 1970-01-01
          • 2012-05-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多