如何使用 My.Settings.Save Visual Basic 保存表单背景图像

How to save a Forms Background Image using My.Settings.Save Visual Basic

我正在尝试用 Visual Basic 制作一个操作系统(当然是基于程序的),它需要个性化。

我希望用户能够从 select 组图像中进行选择,这些图像存储在项目的资源中,并且我希望保存该图像,以便他们下次登录时使用对于软件,表单具有与他们 selected 保存的相同的图像。

额外信息:

图像 selection 位于单独的表格中。使用:

If ComboBox1.Text = "Beach Fade" Then
    PictureBox1.BackgroundImage = My.Resources.beach_fade
End If

主桌面窗体使用 "Background image" 使图像 selected。

使用My.Settings来保存用户设置。

这是我用来演示的代码。我有一个带有 ComboBox1 和 PictureBox1 的表单。使用此代码,您可以保留图像选择。

进入您的项目属性并单击左侧的“设置”选项。创建一个名为 BackgroundImageName 的字符串类型的设置。您可以选择是按用户还是按应用程序保存范围。

然后在项目属性中转到资源并添加两个名为 "beach_fade" 和 "mountain_fade" 的图像。你知道怎么做

然后粘贴此代码

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.ComboBox1.Items.Add("Beach Fade")
        Me.ComboBox1.Items.Add("Mountain Fade")
        Me.ComboBox1.Text = My.Settings.BackgroundImageName
        setBackgroundImage()
    End Sub

    Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
        My.Settings.BackgroundImageName = Me.ComboBox1.Text
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        setBackgroundImage()
    End Sub

    Private Sub setBackgroundImage()
        If ComboBox1.Text = "Beach Fade" Then
            PictureBox1.BackgroundImage = My.Resources.beach_fade
        ElseIf ComboBox1.Text = "Mountain Fade" Then
            PictureBox1.BackgroundImage = My.Resources.mountain_fade
        End If
    End Sub

End Class

应用程序每次启动时都会使用上次关闭前在 ComboBox 中选择的图像。