PictureBox Image mit Name aus TextBox ändern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Cane.

    PictureBox Image mit Name aus TextBox ändern

    Ich hab ein kleines Problem, was warscheinlich sehr einfach zu lösen ist, aber ich kriegs nicht hin :(

    Folgender Code funktioniert nicht wie ich das will:

    Quellcode

    1. Try
    2. PictureBox1.Image = My.Resources. + TextBox1.Text
    3. Catch ex As Exception
    4. End Try


    Also der Name des Bildes ist in der TextBox und das Bild ist auch in den Resourcen. Wie kann ich das so machen das der TextBox Text direkt an My.Resources. angefügt wird?

    Pi77Bull schrieb:

    wie ich das will
    Geht so nicht.
    Um Properties per Name als String anzusprechen müsstest Du das mit Reflection machen.
    Bist Du dazu bereit?
    Dann also so:

    VB.NET-Quellcode

    1. Select Case TextBox1.Text
    2. Case "Img1"
    3. PictureBox1.Image = My.Resources.Image1
    4. Case "Img2"
    5. PictureBox1.Image = My.Resources.Image2
    6. Case "Img3"
    7. PictureBox1.Image = My.Resources.Image3
    8. End Select
    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!

    Pi77Bull schrieb:

    Ich habe nämlich 43 Bilder
    Dann so:

    VB.NET-Quellcode

    1. Dim images = New List(Of String) From {"Img1", "Img2", "Img3"}
    2. Dim res() As Image = {My.Resources.Image1, My.Resources.Image2, My.Resources.Image3}
    3. Dim name = "Img2" ' hier Dein Name
    4. If images.Contains(name) Then
    5. PictureBox1.Image = res(images.IndexOf(name))
    6. End If
    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!
    @Cane Setzt allerdings voraus, dass in der TextBox der richtige Name steht.
    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!
    Da er scheinbar die Namen in Textboxen haben will, ändert das so oder so nichts daran dass der richtige Name in der Textbox stehen muß.
    Egal ob per Select Case oder über ein Array wenn der Name aus der Textbox geholt werden soll.

    Soll ihm ja nur zeigen, dass er auf diese Art und Weise an die Resource gelangen kann.
    Um das Drumherum muß er sich halt noch kümmern ;)