Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo

Ich bin dabei eine kleine Spielerei zu machen und möchte diese mittels eines Timers ausführen lassen. Es geht darum, dass ich verschiedene Geometrische Figuren in einen Panel zeichne. Diese Figuren sollen sich dann von der Mitte nach Außen und wieder zurück bewegen und nach zwei maliger Wiederholung wieder im Ausgangszustand verbleiben.

Mit dieser Anweisung funktioniert es:


  if (radioButton2Fach -> Checked == true)

					 {

						 while(ausfuehren < 2)

						 {

							 for(Int32 i = 0; i < 20; i++)

							 {

								 groesse = groesse - 5;


								 zeichenflaeche -> DrawRectangle(stift, panel1 ->

								 ClientRectangle.Left + groesse, panel1 ->

								 ClientRectangle.Top + groesse, panel1 ->

								 ClientRectangle.Width - (groesse * 2), panel1 ->

								 ClientRectangle.Height - (groesse * 2));



								 // einen Moment warten


								 Threading::Thread::Sleep(100);


								 // den Zeichenbereich löschen


								 zeichenflaeche -> Clear(panel1 -> BackColor);



							 }


							 zeichenflaeche -> DrawRectangle(stift, bereich);


							 for(Int32 i = 20; i > 0; i--)

							 {

								 groesse = groesse + 5;


								 zeichenflaeche -> DrawRectangle(stift, panel1 ->

								 ClientRectangle.Left + groesse, panel1 ->

								 ClientRectangle.Top + groesse, panel1 ->

								 ClientRectangle.Width - (groesse * 2), panel1 ->

								 ClientRectangle.Height - (groesse * 2));



								 // einen Moment warten


								 Threading::Thread::Sleep(100);


								 // den Zeichenbereich löschen


								 zeichenflaeche -> Clear(panel1 -> BackColor);


							 }


							 zeichenflaeche -> DrawRectangle(stift, panel1 ->

							 ClientRectangle.Left + groesse, panel1 ->

							 ClientRectangle.Top + groesse, panel1 ->

							 ClientRectangle.Width - (groesse * 2), panel1 ->

							 ClientRectangle.Height - (groesse * 2));


							 ++ausfuehren;

						 }

					 }


Doch meine Versuche dies mittels eines Timers zu realisierten geht schief. Irgendwie fehlt mir jetzt der Plan wie ich den Timer einrichten muss.

Ich habe versucht diese (Sleep und clear -Anweisung) in der Methode Timer_Click zuschreiben und diese dann mit Timer -> Enabled = treu in der Hauptfunktion auf zu rufen, aber es misslang. Die Sleep-Anweisung habe ich gelöscht und direkt den Interwal des Timers auf 3000 gesetzt, aber das Programm läuft immer in der selben Schnelligkeit ab.

Übrigens entsteht dieses Programm in C++/CLI Windows Forms. (Der berühmte Hinweis auf C# ist mir schon geläufig, aber den Teil so gut wie durch. Werde es also auch zu Ende bringen)

Was mache ich falsch und woran denke ich nicht?

Bin für jeden Hinweis dankbar.

Lieben Gruß

lempy

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...