Anzeige von strings aus einer Liste einzeln in ein label

Ich ein label haben. Ich habe eine Liste. wenn ich "label1.Text = entsprechen.Wert;", es zeigt nur das Letzte Element der Liste, im Gegensatz zu 1-string, das ändert sich jedes mal, wenn ich auf eine Schaltfläche klicken. Der code ist:

private void frontPageToolStripMenuItem_Click(object sender, EventArgs e)
    {
        const string url = "http://reddit.com/r/pics";
        var source = getSource(url);
        var regex = new Regex([regex removed]);
        var links = new List<string>();
        var titles = new List<string>();

        foreach (Match match in regex.Matches(source))
        {
            links.Add(match.Groups[1].Value);
            titles.Add(match.Groups[2].Value);

        }

        foreach (var title in titles)
        {
            label1.Text = title; /*it just shows the last 'title' in 'titles', I want it to start at the first, and go to the next title every time the event occurs (frontPageToolStripMenuItem_Click)*/ 
        }

    }

Vielen Dank im Voraus!

  • Titel sollte ein globaler var, bauen Sie es beim laden der form. Im click-event-handler sollten Sie nur verschieben, die Titel auf den nächsten Wert.
  • Dein code wird sofort ausgeführt. Es gibt keinen Grund für foreach loops zu gehen, nur, indem ein element für jeden button klicken, also warum sollten Sie? Stattdessen, Sie Durchlaufen die ganze Aufzählung, also das Letzte element bleibt. Wenn Sie wollen Schritt für Schritt Vorgehen, haben Sie, um zu speichern, der aktuelle Fortschritt irgendwo außerhalb Ihrer Methode.
  • label1.Text += Bezeichnung + " ";
InformationsquelleAutor Lavi | 2012-11-09
Schreibe einen Kommentar