2

我正在尝试保存一个设置,以保留我当前使用的背景图像。

如果它是一个外部文件,没有问题,我可以获取 .location 并将其设置为 String 设置来存储它。

但是,如果我想将图像资源存储为设置,我该怎么做?

我知道我可以存储原始数据,例如位图信息,但是我无法将这种类型的数据设置为 my.background。

我不知道问题是否应该是:“我如何引用资源”,但 my.resources.resource.methodsList 不包含任何似乎有用的东西。

4

1 回答 1

0

您可以使用My.Resources.ResourceManager.GetObject("resource name")按字符串读取资源。下面是一些示例代码,向您展示如何从资源中获取所有嵌入图像的列表,其中包括它们的字符串名称和图像对象本身:

Public Class EmbeddedImage
    Public Sub New(ByVal name As String, ByVal image As Image)
        _name = name
        _image = image
    End Sub

    Public ReadOnly Property Name() As String
        Get
            Return _name
        End Get
    End Property
    Private _name As String

    Public ReadOnly Property Image() As Image
        Get
            Return _image
        End Get
    End Property
    Private _image As Image
End Class

Private Function getEmbeddedImages() As List(Of EmbeddedImage)
    Dim images As List(Of EmbeddedImage) = New List(Of EmbeddedImage)()
    Dim resources As ResourceSet = My.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, True, True)
    For Each resource As DictionaryEntry In resources
        If TypeOf resource.Value Is Image Then
            images.Add(New EmbeddedImage(resource.Key.ToString(), CType(resource.Value, Image)))
        End If
    Next
    Return images
End Function
于 2012-05-24T18:27:52.597 回答