Background Image ändern per Button

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Lukas.

    Background Image ändern per Button

    Hallo Community ,
    Ich brauche Hilfe ( habe die SuFu und Google schon benutzt )
    Wie kann ich in einem Programm das Hintergrundbild änder , und am besten das das Bild in die Resourcen importiert wird.

    VB.NET-Quellcode

    1. Me.BackgroundImage = Image.FromFile("C:\Users\Username\Desktop\Background.jpg")

    Wenn ich es auf dieser Art versuche entsteht natürlich ein Fehler wenn ich das Bild lösche oder verschiebe.
    Wenn ich das Programm erneut öffne möchte ich auch noch das der Hintergrund immer noch da ist .
    Verschieb es in den Ordner deiner Anwendung oder speichere es z.B. unter AppData.

    AppData Pfad herausbekommen:

    VB.NET-Quellcode

    1. Dim AppDataPath As String = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)


    Kopieren:

    VB.NET-Quellcode

    1. Dim NeuerPfad As String = Path.Combine(AppDataPath, IO.Path.GetFileName(*Pfad zum ausgewählten Bild*)) 'In AppData speichern, Dateinamen beibehalten
    2. IO.File.Copy(*Pfad zum ausgewählten Bild*, NeuerPfad, true) 'true um eine evtl. bereits bestehende Datei zu überschreiben


    Aber komm keinesfalls auf solch hirnrissige Einfälle, das Bild direkt auf C:\ oder im Windows-Ordner speichern zu wollen!
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

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

    ja erstmal danke :thumbsup: (diese Methode ist mir auch schon durch den Kopf gegangen )kann man eventuell noch das Bild in die Resourcen importieren , ohne das ich das Bild im Visual Basic Editor einfüge?
    Wenn ich das Programm teile , will ich das der Hintergrund der Gleiche bleibt .
    Moment mal, willst du das Bild einmalig setzen, sodass du das Programm damit austeilst, oder willst du, dass der Benutzer das Bild ändern kann?
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    das ist egal , wenn ich es einmal ändern kann würde das reichen .
    hmm ich hab mir überlegt , das ich die Datei die gerade ausgeführt wird kopiert wird und mit einem Bild gebunden wird . Wenn die Datei ausgeführt wird , wird das Bild in Appdata oder ins temp Verzeichnis kopiert ... Aber das wird wahrscheinlich als Virus angezeigt...

    EDIT : Also als False Positive

    DerEineNebenEinstein schrieb:

    am besten das das Bild in die Resourcen importiert wird
    geht nur zur Entwicklungszeit, da Ressourcen nach Fertigstellung Deines Programms fix sind.
    Also:
    dynamisch: Bild von Festplatte laden,
    statisch: Bild aus Ressourcen laden.
    Wwenn Du das Programm weitergeben willst, pack das Bild in die Ressourcden, da kannst Du sicher sein, dass es überall verfügbar ist.
    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!
    Verschieben halte ich für sicherer, natürlich solltest du dann immer noch prüfen, ob das Bild noch da ist, aber der typische DAU löscht gerne mal solche Sachen. Gilt auch für das Speichern von Einstellungen ;)
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.