using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Threading; // Thread.Sleep(); namespace sylwester { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // za pomoca komponentu grid stworzyliśmy w XAML 2 warstwy: // jedna z labelem i drugą z obrazkiem // tataj ustwawiamy ich poczatkową widoczność gridLabel.Visibility = Visibility.Visible; gridImage.Visibility = Visibility.Hidden; } // wyświetlana liczba private int number = 9; // timer private System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); // kod uruchamiany co sekundę przez timer private void dispatcherTimer_Tick(object sender, EventArgs e) { // wyswietlamy liczbę labelNumber.Content = number.ToString(); // dekrementujemy liczbę (odliczanie) number--; // na koniec pokazujemy obrazek i zatrzymujemy timer if (number == -1) { gridImage.Visibility = Visibility.Visible; gridLabel.Visibility = Visibility.Hidden; dispatcherTimer.Stop(); } } // kod uruchamiany po kliknięciu na label private void labelNumber_Click(object sender, RoutedEventArgs e) { // konfiguracja timera dispatcherTimer.Tick += dispatcherTimer_Tick; // ustawienie interwału timera na 1s (hours, minutes, seconds) dispatcherTimer.Interval = new TimeSpan(0, 0, 1); // start timera dispatcherTimer.Start(); } } }