Probleme mit dem Timer

dark_nightmare

Grünschnabel
Hi!

ich hab seit kurzem mit der Programmierung von c# begonnen...hab mittlerweile schon ein buch, das sich leider nur auf konsolenanwedung beschränkt durchgelesen....nun hab ich ein buch, dass sich ausschließlich mit windows applikationen beschäftigt...

nun hab ich son problem mit nem timer...wiegesagt, ich bin richtiger anfänger und hab da mal ne frage. ich wollte einfach mal zum spaß einen art countdown machen..und zwar hab ich ne zahl X, die meinetwegen 50 ist..und jedesmal wenn das timerintervall kommt, soll diese zahl inkrementiert werden....und als labeltext erscheinen..soweit sogut, nur hab ich da ein problemchen..wenn ich naemlich in den timer event iNumber = 50; schreibe, wird die zahl ja bei jedem intervall immer wieder auf 50 gesetzt...und ich erhalte immer 49 als label text :(

wie kann ich dieses problem beheben...ich hab leider keine ahnung wo ich die zahl noch initialisieren kann, und trotzdem vom timer event aus zugreifen kann :/

bitte um hilfe,
nighti
 
Original geschrieben von dark_nightmare
.ich hab leider keine ahnung wo ich die zahl noch initialisieren kann, und trotzdem vom timer event aus zugreifen kann :/

Hallo.

in diesem Fall musst du sie ausserhalb einer Methode deklarieren, damit sie zu eine Membervariable wird, und somit für dieganze Klasse existiert.
Mit dem Wert 50 initialisiert du sie entweder im Konstruktor, oder in einer Methode damit du zwischendurch den Countdown zurücksetzen kannst, diese Methode auch einfach im Konstruktor aufrufen.

Ach, und bitte lies dir unsere Netiquette, beziehungsweise den roten Kasten beim Schreiben eines Beitrags durch.
Bitte achte unbedingt auf Deine Rechtschreibung, eine klare Fragestellung bzw. Antwort und eine sinnvolle Struktur. Beiträge mit durchgehender Kleinschreibung, Chatsprache und/oder mangelhafter Struktur werden kommentarlos gelöscht.
Mehr dazu findest Du in unserer Netiquette.

Code:
[...]
public class Test
{
	[...]
	int value;

	public Test()
	{
		ResetValue();
	}

	private void ResetValue()
	{
		value = 50;
	}

	[...]	
}

MfG,
Alex
 
Lieber dark_nightmare,

bitte halte dich an unsere Netiquette. Hier insbesondere ist der Punkt 12.

Betreffend deines ersten Post in diesem Thread:
Ab und zu die Schiftaste benutzen, erhöht die Lesbarkeit deiner Beiträge ungemein.

grüsse
 
Timerproblem

Ich hatte eine Containerklasse für den Timer erstellt.
z.B so.:

class StatusTimer{
public System.Threading.Timer Timer;
public int Count = 0;
}


Objekorientiert eben! Das solte man gelernt haben wenn man C# proggen will.
 
Zurück