Backgroundimage von Form in My.Settings speichern ?

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Backgroundimage von Form in My.Settings speichern ?

    Hallo,

    Ich habe in Visual Basic ein kleines Problem. In einem Form habe ich eine PictureBox und wenn man drauf klickt ändert sich der Backgroundimage.
    Wenn ich die Form schließe und wieder öffne, ist es weg.
    Mit dieser Code geht es nicht ( .... kann nicht in "System.Drawing.Image konvertiert werden..)

    Quellcode

    1. Dekstop.BackgroundImage = My.Resources._4
    2. Me.BackgroundImage = My.Settings.Hintergrund1 My.Settings.Save()



    Kann mir einer weiter helfen ?
    @HKNTv

    Guten Abend :)
    Als welches Attribut (Variablentyp) hast du denn deine Setting in den Settings angelegt.
    Erstelle doch eine List(of Image) und befülle Sie mit den Bildern.
    Bei einer Änderung des Bildes änderst du eine Ineteger Variable und rufst das Bild in de PictureBox mit
    PictureBox1.BackgroundImage = deineliste(index)
    Ein kleines Beispiel:

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim imgList As New List(Of Image)
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. imgList.Add(My.Resources.bild1)
    6. imgList.Add(My.Resources.bild2)
    7. pb1.backgroundimage = imgList(index)
    8. End Sub
    9. Public Sub bildchanged()
    10. My.Settings.index += 1
    11. My.Settings.Save()
    12. End Sub
    13. End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMiy“ ()

    Guten morgen, @LaMiy:.
    Was machst Du, wenn bildchanged() öfter aufgerufen wird, als Bilder in der ImageList vorhanden sind :?:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    LaMiy schrieb:

    Ist das richtig ?
    Da würde sich ja das Bild nicht mehr ändern.
    Besser ist es, dann wieder bei 0 zu beginnen:

    VB.NET-Quellcode

    1. Public Sub bildchanged()
    2. My.Settings.index += 1
    3. If My.Settings.index = imgList.Length Then
    4. My.Settings.index = 0
    5. End If
    6. My.Settings.Save()
    7. End Sub
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!