2016-05-03 11 views
-4

Visual Basic(もちろんプログラムベース)でオ​​ペレーティングシステムを作成しようとしており、パーソナライゼーションが必要です。My.Settings.Save Visual Basicを使用してフォームの背景イメージを保存する方法

私は、ユーザーがプロジェクトのリソースに保存されている選択されたイメージグループから選択でき、そのイメージを保存して、次回にソフトウェアにログオンするときに、フォームには、選択したのと同じ画像が保存されます。

追加情報:

画像の選択が別々のフォーム上にあります。使用:

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

メインデスクトップフォームでは、画像を選択するために「背景画像」が使用されます。

+0

ユーザー設定を保持する方法:https://msdn.microsoft.com/en-us/library/fwc80dzb.aspx –

答えて

1

My.Settingsを使用してユーザー設定を保持します。

これはデモに使用したコードです。私はComboBox1とPictureBox1でフォームを持っています。このコードを使用すると、イメージ選択を維持できます。

プロジェクトのプロパティに移動し、左側の[設定]オプションをクリックします。 String型のBackgroundImageNameという設定を作成します。スコープがユーザーごとまたはアプリケーションごとに保存されるかどうかを選択できます。プロジェクトのプロパティで次に

Settings

は、リソースにアクセスし、「beach_fade」と「mountain_fade」という名前の2枚の画像を追加します。あなたは、アプリケーションが最後のクローズ前に、コンボボックスで選択した画像にするたびに起動します

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 

このコードを貼り付けそして、この

Resources

を行う方法を知っています。

+0

ありがとう、それは素晴らしい仕事をしました –

関連する問題