Benötige Hilfe bei einer vereinfachung

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Fortender.

    Benötige Hilfe bei einer vereinfachung

    Hallo liebe vb-paradise.de User. :thumbsup:

    Ich bin gerade am verzweifeln. Unzwar habe ich mehrere Pictureboxes und Variabeln die mehrere BIlder ausgeben anhand der zufallsgenerieten Variabeln.
    Alles funktioniert so weit nur habe ich das Problem das ich keine Ahnung habe wie ich es einfacher schreiben könnte.

    If F001 = "1" Then
    Feld1.Image = My.Resources.e1
    End If
    If F001 = "2" Then
    Feld1.Image = My.Resources.e2
    End If
    If F001 = "3" Then
    Feld1.Image = My.Resources.e3
    End If
    If F001 = "4" Then
    Feld1.Image = My.Resources.e4
    End If
    If F001 = "5" Then
    Feld1.Image = My.Resources.e5
    End If

    If F002 = "1" Then
    Feld2.Image = My.Resources.e1
    End If
    If F002 = "2" Then
    Feld2.Image = My.Resources.e2
    End If
    If F002 = "3" Then
    Feld2.Image = My.Resources.e3
    End If
    If F002 = "4" Then
    Feld2.Image = My.Resources.e4
    End If
    If F002 = "5" Then
    Feld2.Image = My.Resources.e5
    End If

    If F003 = "1" Then
    Feld3.Image = My.Resources.e1
    End If
    If F003 = "2" Then
    Feld3.Image = My.Resources.e2
    End If
    If F003 = "3" Then
    Feld3.Image = My.Resources.e3
    End If
    If F003 = "4" Then
    Feld3.Image = My.Resources.e4
    End If
    If F003 = "5" Then
    Feld3.Image = My.Resources.e5
    End If


    Das müsste ich hundert mal machen. :/ :S
    Gibt es nicht eine einfachere Methode ?

    Hoffe ihr habt mein Problem verstanden. :)
    Für F001.. usw nimmst du dir entweder eine typisierte Liste oder direkt ein Integer-Array, wenn die Länge schon bekannt ist.

    VB.NET-Quellcode

    1. Dim _field(100) As Integer

    oder

    VB.NET-Quellcode

    1. Dim _field As New List(Of Integer) '{.Capacity = 100}

    Um die Pictureboxen zusammenzufassen, legst du dir auch einen Array an, oder falls es die Einzigen Pictureboxen auf der Form sind:

    VB.NET-Quellcode

    1. For Each pb As PictureBox In Me.Controls.OfType(Of PictureBox)


    Zusammengefasst:

    VB.NET-Quellcode

    1. Dim _field(100) As Integer
    2. Dim rnd As New Random
    3. 'Generieren der Zufallszahlen von 1 bis 5
    4. For i = 0 To 99
    5. _field(i) = rnd.Next(1, 5)
    6. Next
    7. 'Zuweisen
    8. For Each f In _field
    9. For Each pb As PictureBox In Me.Controls.OfType(Of PictureBox)()
    10. pb.Image = CType(My.Resources.ResourceManager.GetObject(String.Concat("e", f.ToString)), Image)
    11. Next
    12. Next


    Ich hab den Teil mit den Zufallszahlen zum Verständnis mit dazu genommen. Vermutlich ist das bei dir in einzelne Subs verteilt, sodass du dein Feld dann entweder übergeben oder
    global deklarieren musst. Den Code musst du dir sowieso zurechtschnippeln.

    MfG Tim

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Fortender“ ()