Wie kann ich das ausgewählte Label zum Text ändern leicht wechseln?
Hey,
ich bin noch relativ neu bei C# und versuche mich gerade daran, dass ein Text nachdem man einen Button drückt in Labels eingefügt wird. (Er soll jedes Mal in das nächste Label rein nicht einfach z.B. Label 1 immer Updaten. jetzt frage ich mich is ich das hinbekomme, dass bei jedem Klick auf den Button der Text in ein anderes Label geschrieben wird. Habe lange rumprobiert und gegogglet leider ohne Erfolg. Danke für jede Antwort. (Bei dem Bild welches ich hinzugefügt habe sieht man eine Lösung welche eigentlich aber mit weniger Code machbar sein sollte vermute ich stark)
2 Antworten
Packe all deine Labels in ein Arrayfeld (oder eine Liste) und erstelle dir dazu noch ein Zählerfeld, welches bei 0 startet.
Label[] labels;
int index = 0;
// after InitializeComponents:
labels = new Label[] { label1, label2, /* ... */ };
Über die Zählervariable holst du dir fortan immer das nächste Label, anschließend erhöhst du sie.
labels[index].Text = "...";
++index;
Wenn der Zähler den Längenwert des Arrays erreicht, musst du aufhören oder setzt du ihn zurück auf 0, um wieder von vorn zu beginnen.
Bitte lesen, danke: https://www.google.com/search?q=screenshot+erstellen
Du kannst es mit Application.OpenForms["DeineForm"].Controls["Control"] as Label probieren, denn da kannst du den string zusammenbauen und in Controls einfügen
Beispiel: (...Controls[$"label{zahl.ToString()}"] as Label).Text = "Text"
Ich weiß wie man ein Screenshot macht nur ich musste es schnell machen weil ich weg musste und es war auch nicht mein pc ich kann das im Nachhinein noch erkennen was da steht