Mehrere PictureBoxen per For schleife ansprechen

  • VB.NET

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von TVX.

    Jetz kommt das Letzte :

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. Dim Text As String = IO.File.ReadAllText("C:\Users\zeus\Desktop\test.txt")
    5. For i As Integer = 1 To Me.Controls.OfType(Of PictureBox).Count
    6. If Mid(Text, i, 1) = "1" Then
    7. Controls("PictureBox" & i).BackColor = Color.Red
    8. Else
    9. Controls("PictureBox" & i).BackColor = Color.Green
    10. End If
    11. Next
    12. End Sub
    13. End Class​


    Textdatei Eintrag:
    110011001

    Ergebnis:

    sonne75 schrieb:

    es ist nicht intuitiv
    und es funktioniert so sogar in C#. ;(
    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!
    @sonne75
    Ich installier gerade das 13er Studio, ich werd es probieren, sobald ich wieder OnEdit bin. :thumbsup:
    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 noch die Antwort auf (( RodFromGermany )) Frage :!:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. Dim Text As String = IO.File.ReadAllText("C:\Users\zeus\Desktop\test.txt")
    5. For i As Integer = 1 To Me.Controls.OfType(Of PictureBox).Count
    6. If Mid(Text, i, 1) = "1" Then
    7. Controls("PictureBox" & i).BackColor = Color.Red
    8. Else
    9. Controls("PictureBox" & i).BackColor = Color.Green
    10. End If
    11. Next
    12. End Sub
    13. 'Oder mit eigener Control Namensfindung , aber Vorsicht der nimmt es genau mit der Reihenfolge der Erstellung (( For Each ))
    14. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    15. Dim Text As String = IO.File.ReadAllText("C:\Users\zeus\Desktop\test.txt")
    16. Dim PB_Liste As New List(Of PictureBox)
    17. For Each PB In Me.Controls.OfType(Of PictureBox)()
    18. PB_Liste.Add(PB)
    19. Next
    20. PB_Liste.Reverse()
    21. For i As Integer = 0 To PB_Liste.Count - 1
    22. If Mid(Text, i + 1, 1) = "1" Then
    23. PB_Liste(i).BackColor = Color.Red
    24. Else
    25. PB_Liste(i).BackColor = Color.Green
    26. End If
    27. Next
    28. End Sub
    29. End Class



    LG....

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „TVX“ ()