I'm trying to make an Operating System in Visual Basic (program based of course) and it needs personalisation.
I want the user to be able to choose from a select group of images, stored in the Resources of the project, and I want that image to be saved, so that the next time they log on to the software, the form has the same image they selected saved.
The image selection is on a seperate form. Using:
If ComboBox1.Text = "Beach Fade" Then
PictureBox1.BackgroundImage = My.Resources.beach_fade
Use My.Settings to persist user settings.
This is the code I used to demo it. I have a form with ComboBox1 and PictureBox1. With this code, you can have your image selection persist.
Go into your project properties and click the Settings option on the left. Create a setting called BackgroundImageName of type String. You can choose if the scope is saved per-user or per-application.
Then in project properties go to Resources and add two images named "beach_fade" and "mountain_fade". You know how to do this
Then paste this code
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
The application will start up every time with the image selected in the ComboBox before last close.