2016-05-03 4 views
-4

Ich versuche, ein Betriebssystem in Visual Basic (natürlich Programm basiert) zu machen und es braucht Personalisierung.So speichern Sie ein Formular Hintergrundbild mit My.Settings.Save Visual Basic

Ich möchte der Benutzer in der Lage sein, aus einer ausgewählten Gruppe von Bildern auszuwählen, in den Ressourcen des Projekts gespeichert, und ich möchte, dass das Bild gespeichert wird, so dass das nächste Mal, wenn sie sich an der Software anmelden Das Formular hat das selbe Bild, das sie ausgewählt haben.

Zusätzliche Informationen:

Die Bildauswahl auf einer separaten Form ist. Verwenden:

Main Desktop Formular verwendet das "Hintergrundbild", um das Bild ausgewählt zu haben.

+0

wie persistent Benutzereinstellungen: https://msdn.microsoft.com/en-us/library/fwc80dzb.aspx –

Antwort

1

Verwenden Sie My.Settings, um Benutzereinstellungen beizubehalten.

Dies ist der Code, den ich verwendet habe, um es zu demontieren. Ich habe ein Formular mit ComboBox1 und PictureBox1. Mit diesem Code können Sie Ihre Bildauswahl beibehalten.

Gehen Sie in Ihre Projekteigenschaften und klicken Sie auf die Option Einstellungen auf der linken Seite. Erstellen Sie eine Einstellung namens BackgroundImageName des Typs String. Sie können auswählen, ob der Bereich pro Benutzer oder pro Anwendung gespeichert wird.

Settings

dann in Projekteigenschaften gehen zu Ressourcen und fügen Sie zwei Bilder namens "beach_fade" und "mountain_fade". Sie wissen, wie das diesen Code

Resources

Dann tun Paste

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 

Die Anwendung wird jedes Mal mit dem Bild in der ComboBox vorletztes schließen ausgewählt starten.

+0

Danke, es hat super funktioniert –