Buttonclick event og loops

Tags:    c#

Hejsa udviklere.
Er temmelig ny i Csharp verdenen og især til windows events.
Jeg har denne kode hvor formålet er at adde 10 forskellige rækker med tal i en listbox, og så skal hver række tælle op hver gang. I den her stil.

Række 1: 1-2-3-4-5-6-7
Række 2: 5-2-5-8-6-8-6
Række 3: 5-8-9-6-2-5-6
osv..

Tallene er selvfølgelig afhængig af hvad der står i de labels og de er forskellige fra hver gang man trykker på button.

Fold kodeboks ind/udKode 


Problemet er så bare uanset hvilket loop jeg forsøger mig med sker dette.
Række 1: 1-2-3-4-5-6-7
Række 2: 1-2-3-4-5-6-7
Række 3: 1-2-3-4-5-6-7
osv..

Og putter jeg break; i sætningen sker dette.
Række 1: 1-5-8-9-6-2-4
Række 1: 5-8-9-6-2-5-6
Række 1: 5-7-8-5-9-6-2

Så hvordan får jeg programmet til at virke så hver gang jeg klikker på button optæller den række og der kan komme nye værdier i den række.
Række 1: 1-2-3-4-5-6-7
næste gang jeg klikker
Række 2: 5-2-5-8-6-8-6
næste gang jeg klikker
Række 3: 5-8-9-6-2-5-6

Håber i forstår spørgsmålet. Hvis i skal bruge hele koden så sig til eller anden information. På forhånd tak.



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Antaget at dine tal i label'sne skifter fra hvert klik kan du gøre noget i stilen af:

Fold kodeboks ind/udKode 


Det som er ved det, er at du skal forestille dig at hver gang din event handler (btnAdd) bliver kaldt, så kalder den (som du jo kan se) metoden AddTal. Inde i AddTal erklærer du så en variabel - denne variabel vil blive nulstillet om man så må sige for hver gang metoden bliver kaldt - og derfor kan du ikke tælle den op inde i funktionen sådan som du har gjort og håbe på at den forbliver der til næste gang (i øvrigt virker det slet ikke i det at du både med den kode er ikke er udkommeret, men også med for loopet, nulstiller i til 0).

Ved at putte variabel deklarationen for i uden for funktionen og ud til at være en del af selve klassen - så er den nu en instans variabel til din klasse - og indholdet af i bliver derfor gemt indtil instansen af klassen edlægges (hvilket hvis klassen er din mainform er når programmet ender, på normal vis).

Håber det hjalp :)



Indlæg senest redigeret d. 08.10.2008 20:30 af Bruger #714
Det var lige hvad jeg ville have metoden til at gøre. Vidste slet ikke variablen blev nulstillet efter hvert kaldt.
Siger ydmygt tak for den hurtige hjælp og din præcise forklaring.



Der er også noget skummelt i din while så vidt jeg lige kan se, du laver en break, der altid bliver kørt? Betyder det så ikke at den kun bliver kørt een gang? og derfor er din while løkke overflødig?



t