我正在尝试保存一个设置,以保留我当前使用的背景图像。
如果它是一个外部文件,没有问题,我可以获取 .location 并将其设置为 String 设置来存储它。
但是,如果我想将图像资源存储为设置,我该怎么做?
我知道我可以存储原始数据,例如位图信息,但是我无法将这种类型的数据设置为 my.background。
我不知道问题是否应该是:“我如何引用资源”,但 my.resources.resource.methodsList 不包含任何似乎有用的东西。
我正在尝试保存一个设置,以保留我当前使用的背景图像。
如果它是一个外部文件,没有问题,我可以获取 .location 并将其设置为 String 设置来存储它。
但是,如果我想将图像资源存储为设置,我该怎么做?
我知道我可以存储原始数据,例如位图信息,但是我无法将这种类型的数据设置为 my.background。
我不知道问题是否应该是:“我如何引用资源”,但 my.resources.resource.methodsList 不包含任何似乎有用的东西。
您可以使用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