Timer in Visual C++

Diskutiere Timer in Visual C++ im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, es geht um einen Timer den ich in einer Windows Form eingefügt habe und der nach einen Buttonklick ausgeführt werden soll. Ein...
  • Timer in Visual C++ Beitrag #1
M

MD8818

Aktives Mitglied
Dabei seit
10.05.2007
Beiträge
29
Reaktionspunkte
0
Hallo,
es geht um einen Timer den ich in einer Windows Form eingefügt habe und der nach einen Buttonklick ausgeführt werden soll.

Ein Beispiel:
Ein Klick auf button1, Timer startet, fängt bei 10 Sekunden an und führt dann was aus(z.B. Application::Exit(); )

Code:
#pragma once


namespace Timer1 {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Zusammenfassung für Form1
	///
	/// Warnung: Wenn Sie den Namen dieser Klasse ändern, müssen Sie auch
	///          die Ressourcendateiname-Eigenschaft für das Tool zur Kompilierung verwalteter Ressourcen ändern,
	///          das allen RESX-Dateien zugewiesen ist, von denen diese Klasse abhängt.
	///          Anderenfalls können die Designer nicht korrekt mit den lokalisierten Ressourcen
	///          arbeiten, die diesem Formular zugewiesen sind.
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Konstruktorcode hier hinzufügen.
			//
		}

	protected:
		/// <summary>
		/// Verwendete Ressourcen bereinigen.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::Button^  button1;
	protected: 
	private: System::Windows::Forms::Timer^  timer1;
	private: System::ComponentModel::IContainer^  components;

	private:
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>


#pragma region Windows Form Designer generated code
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung.
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		void InitializeComponent(void)
		{
			this->components = (gcnew System::ComponentModel::Container());
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->timer1 = (gcnew System::Windows::Forms::Timer(this->components));
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(92, 113);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(75, 23);
			this->button1->TabIndex = 0;
			this->button1->Text = L"button1";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(284, 264);
			this->Controls->Add(this->button1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
			this->ResumeLayout(false);

		}
#pragma endregion
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
			 }
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 //DAMIT SOLL DER TIMER GESTARTET WERDEN.
			 }
	};
}



Ein Codebeispiel wäre hilfreich.
 
Zuletzt bearbeitet:
  • Timer in Visual C++ Beitrag #2
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Bei den Komponenten, dort wo auch der Button zu finden ist, gibt's einen Timer. Den ziehst Du einfach in den Dialog. Dann klickst Du den Timer an und läßt die Eigenschaften anzeigen. Dort stellst Du den Timer auf aus (Enabled: false) und das Intervall auf 10000 (10 Sekunden). Dann klickst Du oben auf den Blitz (Ereignisse) und machst einen Doppelklick auf die Aktion "Tick". VS fügt jetzt automatisch eine Funktion hinzu, die aufgerufen wird, wenn der Timer abgelaufen ist.

Dasselbe machst Du mit dem Button (Aktion "Click"). In der neu generierten Funktion startest Du den Timer. In der Tick-Funktion stoppst Du den Timer und machst, was auch immer Du machen willst.

Code:
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 timer1->Start();
             }

    private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
                 timer1->Stop();
                 MessageBox::Show("Timer abgelaufen");
             }
 
  • Timer in Visual C++ Beitrag #3
M

MD8818

Aktives Mitglied
Dabei seit
10.05.2007
Beiträge
29
Reaktionspunkte
0
Danke für die Antwort. :goil:

Werde ich gleich mal ausprobieren.....:ja:

//Edit:
Habs ausprobiert, geht wunderbar.
 
Zuletzt bearbeitet:
Thema:

Timer in Visual C++

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben