Durchnummerierte Labels mit Text bzw mit Zahlen füllen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von StepsK.

    Durchnummerierte Labels mit Text bzw mit Zahlen füllen

    Hallo liebe Gemeinde,

    ich steh irgendwie auf dem Schlauch :(

    Ich versuche 4 Labels auf meiner Form mit Zufallszahlen zu versehen, aber irgendwie hab ich grad ein schwarzes Loch im Kopf

    Also zur Aufgabe, ich habe 4 Labels:

    lbl_rand_1
    lbl_rand_2
    lbl_rand_3
    lbl_rand_4

    und in jedes dieser Labels soll eine Zufallszahl zwischen 1 und 6!
    Ich dachte nun dass ich mit der While-Schleife einfach durchzählen kann, den namen und das "X" aneinanderkloppe und
    somit durch die Labels gehe und sie gleich mit einer Zahl füllen kann. Irgendwas am Express wehrt sich aber gegen mich, sicher mit Recht...
    Aber wo?

    Bin um jede Hilfe Dankbar

    Gruß Stephan


    Codeschnippsel:

    VB.NET-Quellcode

    1. Private Sub btn_answer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_answer.Click
    2. Dim x As Integer = 1
    3. Dim i As Integer
    4. Dim LBL As Label
    5. While x < 5
    6. LBL = New Label
    7. LBL.Name = "lbl_rand_" & x
    8. i = vorgabe.Next(1, 7)
    9. LBL.Name.Text = i
    10. x = x + 1
    11. End While
    12. End Sub


    Edit by nikeee13:
    Topic in das richtige Unterforum verschoben und VB-Codetag eingefügt. Nächstes mal bitte drauf achten. Mehr Informationen dazu: Bitte VB Tags benutzen - was ist damit gemeint?

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

    VB.NET-Quellcode

    1. Private Sub btn_answer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_answer.Click
    2. dim labels={lbl_rand_1, lbl_rand_2, lbl_rand_3, lbl_rand_4, lbl_rand_5}
    3. dim numbs as new list(of integer)
    4. for i=0 to labels.count-1
    5. dim numb=vorgabe.Next(1, 7)
    6. numbs .add(numb)
    7. labels(i).Text=numbs .tostring
    8. next
    9. End Sub

    StepsK schrieb:

    VB.NET-Quellcode

    1. LBL = New Label

    StepsK schrieb:

    ich habe 4 Labels
    Ja hast Du nun oder hast Du nicht?
    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!
    Hi, Danke erst mal für die Antworten.

    @Rod:
    Ja, ich habe auf meiner Form 4 labels definiert, namen sind lbl_rand_1.... bis lbl_rand_4
    dieses new label hab ich nur eingefügt weil vbe 2008 mir das vorgeschlagen hat. ist eigentlich unlogisch da die labels ja schon existieren. ich habe es aber nicht hinbekommen die existierenden labels aus der schleife heraus anzusprechen. es muss ja eigentlich nur die zahl am ende des namens je eins nach oben gezählt zu werden. auch der versuch hinter der wertzuweisung noch ein lbl.update zu setzen hatte nicht den gewünschten erfolg :(

    die frage wäre also jetzt, wie bekomme ich es hin innerhalb dieser schleife die 4 labels anzusprechen und mit der zufallszahl zu füllen.

    @Erfinder:
    Danke für Deinen Vorschlag, ich bekomme nur leider folgende ausgabe in den labels:
    "System.Collections.Generic.List'1[System.Int32]"
    Das sagt mir jetzt noch weniger ;)

    Gruß
    Stephan

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

    sorry - war ungetestet runtergeschrieben - ein winziger Fehler.

    Aber vlt. kannst du ihn selbst finden: Die Anzeige zeigt offensichtlich, dass das Label eine Liste anzuzeigen versucht ("List'1[System.Int32]"). Eine Liste von Int32, um genau zu sein.
    Es kann und soll aber nur einen einzelnen Wert anzeigen.
    Was also ist mein Fehler im Code?