Как сохранить фоновое изображение форм с помощью My.Settings.Save Visual Basic

Я пытаюсь сделать операционную систему в Visual Basic (на основе программы, конечно), и она нуждается в персонализации.

Я хочу, чтобы пользователь мог выбирать из выбранной группы изображений, хранящихся в Ресурсах проекта, и хочу, чтобы это изображение было сохранено, чтобы при следующем входе в программное обеспечение форма имела то же самое изображение, которое они выбрали, сохранено.

Дополнительная информация:

Выбор изображения находится в отдельной форме. С помощью:

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

Форма главного рабочего стола использует "Фоновое изображение", чтобы выбрать изображение.

1 ответ

Решение

Используйте My.Settings для сохранения пользовательских настроек.

Это код, который я использовал для демонстрации. У меня есть форма с ComboBox1 и PictureBox1. С этим кодом вы можете сохранить свой выбор изображения.

Зайдите в свойства вашего проекта и выберите опцию "Настройки" слева. Создайте параметр с именем BackgroundImageName типа String. Вы можете выбрать, будет ли область сохраняться для каждого пользователя или для каждого приложения.

настройки

Затем в свойствах проекта перейдите в раздел "Ресурсы" и добавьте два изображения с именами "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 перед последним закрытием.

Другие вопросы по тегам