Timer i Eventy

Wcześniej używaliśmy zdarzeń takich jak "click", które były tworzone automatycznie. Aby mieć dostęp do większej ilości zdarzeń wystarczy kliknąć we właściwościach danego przycisku taką błyskawice, a następnie wybrać zdarzenie i kliknąć na nim dwa razy.

W naszym projekcie wybraliśmy zdarzenia, które wykonują się przy starcie "Load" i przy zamykaniu formy "FormClosed". Wyglądają one następująco:

private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
 timer1->Start();
 }
 private: System::Void Form1_FormClosed(System::Object^  sender, System::Windows::Forms::FormClosedEventArgs^  e) {
 timer1->Stop(); }

Jest to uruchomienie i zatrzymanie czasomierza. Główna procedura ma wypisywać czas w pole texBox co sekundę. Aby tego dokonać szukamy komponentu Timer i opuszczamy go na formę, po czym klikamy na niego i naciskamy błyskawice. Jest tam jedyne zdarzenie dla tego komponentu czyli Tick, klikamy na nie 2 razy i wpisujemy kod:

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) {
 DateTime czas = DateTime::Now;
 textBox1->Text = czas.Minute.ToString("D2")+":"+czas.Second.ToString("D2"); }

W tym przypadku pobieramy aktualny czas i uaktualniamy go. Oczywiście procedurka Tick będzie wywoływana co 0,1 sekundy ponieważ interwał jest ustawiony na 100ms. Można to łatwo sprawdzić ustawiając licznik w procedurze, aby wywołać tą procedurę co sekundę wystarczy zwiększyć interwał do 1000ms.