Externes Bild in ToolStripMenüItem einfügen

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von Knato.

    Externes Bild in ToolStripMenüItem einfügen

    Hallo,
    Ich möchte, um die größe meiner Anwendung zu reduzieren, die ganzen Bilder, die ich verwendet habe, in einen extra Ordner packen, der sich im selben Verzeichnis wie das Programm befindet. Da ich auch die Bilder von den ToolStripMenüItems so laden möchte, muss ich eben wissen, was ich dafür für einen Code verwenden muss.

    Ich hab jetzt folgendes eingefügt:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    2. RückgängigToolStripMenuItem2.Image =
    3. End Sub


    Was hinter das "=" kommt, weis ich nicht. Ich habe schon so einiges ausprobiert. Auch sonst hab ich im Internet nichts gefunden, da ich nicht wusste, wonach ich suchen soll. Ich hoffe, ihr versteht, was ich meine.
    Aber die Dateien sind da. Ich hab nur die Original-Dateien aus den Ressourcen gelöscht.

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    2. 'Icons aus externem Ordner laden
    3. NameHinzufügenToolStripMenuItem.Image = Image.FromFile("images\plus.png")
    4. BeendenToolStripMenuItem1.Image = Image.FromFile("images\ende.png")
    5. RückgängigToolStripMenuItem2.Image = Image.FromFile("images\rückgängig.png")
    6. LöschenToolStripMenuItem1.Image = Image.FromFile("images\papierkorb.png")
    7. End Sub

    Der Ordner heißt "images" und befindet sich der Zeit unter "D:\Taschenrechner-Installations-Version\Rechner\bin\Debug\images"
    Du musst immer den vollen Pfad angeben. Ansonsten bau Dir den Pfad zusammen mit dem Pfad, aus dem das Programm gestartet wurde:

    VB.NET-Quellcode

    1. Dim path As String = Application.StartupPath
    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!
    Hier so mache ich das immer: ;)

    VB.NET-Quellcode

    1. NameHinzufügenToolStripMenuItem.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\images\plus.png")



    "My.Application.Info.DirectoryPath" ruft den Pfad von deiner Exe ab ;)

    Gelöschter Benutzer schrieb:

    Hier so mache ich das immer: ;)

    VB.NET-Quellcode

    1. NameHinzufügenToolStripMenuItem.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\images\plus.png")



    "My.Application.Info.DirectoryPath" ruft den Pfad von deiner Exe ab ;)



    Das ändert aber auch nichts daran, das diese Meldung nicht mehr kommt:
    Bilder
    • fehler.PNG

      115,09 kB, 1.919×391, 117 mal angesehen

    Knato schrieb:

    Und was muss ich dann da bei "NameHinzufügenToolStripMenuItem.Image = Image.FromFile("images\plus.png")" verändern?
    Die Posts lesen und verstehen.
    Vielleicht makl eine Zeile in das Programm schreiben, einen Haltepunkt drauf setzen und den Inhalt der Variable auslesen.

    RodFromGermany schrieb:

    Du musst immer den vollen Pfad angeben. Ansonsten bau Dir den Pfad zusammen mit dem Pfad, aus dem das Programm gestartet wurde:

    VB.NET-Quellcode

    1. Dim path As String = Application.StartupPath
    z.B.

    VB.NET-Quellcode

    1. path &= "\images\plus.png"
    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!
    Wenn du mich meinst dieser Code ging:

    VB.NET-Quellcode

    1. NameHinzufügenToolStripMenuItem.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\images\plus.png")

    Aber sobald man aus der Endung des Bilds in diesem Beispiel ".png" z.B. ".jpg" gemacht hatte oder Pfad nicht stimmtw dann kam im Direktfenster diese Meldung die oben angesprochen wurde. Aber nachdem man die Endung wieder richtig gemacht hatte, dann blieb diese Meldung also kann man Ignorieren. ;)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Gelöschter Benutzer“ ()

    Kannst Du bitte mal den betreffenden Code posten?
    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!
    Kein betreffener Code sondern

    Wenn du mich meinst dieser Code ging:

    VB.NET-Quellcode

    1. NameHinzufügenToolStripMenuItem.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\images\plus.png")


    Aber sobald man aus der Endung des Bilds in diesem Beispiel ".png" z.B. ".jpg" gemacht hatte oder Pfad nicht stimmtw dann kam im Direktfenster diese Meldung die oben angesprochen wurde. Aber nachdem man die Endung wieder richtig gemacht hatte, dann blieb diese Meldung also kann man
    Ignorieren. ;)

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Gelöschter Benutzer“ ()

    Funktioniert vorzüglich:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. YyyyToolStripMenuItem.Image = Image.FromFile("C:\Temp\Split.jpg")
    3. ZzzzToolStripMenuItem.Image = Image.FromFile("C:\Temp\Split.png")
    4. End Sub
    Bilder
    • Menu.jpg

      23,37 kB, 634×137, 105 mal angesehen
    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!
    Bei mir kam der Fehler wenn ich:



    VB.NET-Quellcode

    1. NameHinzufügenToolStripMenuItem.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\images\plus.png")

    ZU

    VB.NET-Quellcode

    1. NameHinzufügenToolStripMenuItem.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\images\plus.jpg")

    umgenannt hatte und die datei als JPG nicht existiert dann kam im Direktfenster der Fehler von oben. Wenn ich JPG wieder in PNG umbenne im Code dann bleibt der Fehler im Direktfenster bestehen. MEHR NICHT also IGNORIEREN ;) oder neues Projekt machen wo gleich der Pfad stimmt oder Direktfenster schließen