Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Fizyka w szkole

Kontrolka Timer w aplikacji i zmienna losowa

Użycie kontrolki Timer w aplikacji jest namiastką wątku, który jest bardziej skomplikowany do realizacji niż zaimplementowanie tej kontrolki. Timer pozwala cyklicznie wykonywać fragment kodu programu.

Cel: Napisz aplikacje która w sposób losowy wyświetli grafikę z zasobu graficznego ImageList po naciśnięciu klawisza oraz cyklicznie w wybranym interwale czasowym

kontrolka Timer Visual Studio C#

Krok 1. Użyte komponenty

  • Panel- sztuk 1
  • StatusStrip- sztuk 1
  • PictureBox- sztuk 1
  • Button- sztuk 2
  • TextBox- sztuk 1
  • Label- sztuk 1
  • Timer- sztuk 1
  • ImageList- sztuk 1

Kontrolce Panel we właściwości Doc ustawiamy opcję Top

Panel Visual Studio C#

W obszarze kontrolki Panel osadzamy dwie kontroli Button, jedną kontrolkę TextBox i jedną kontrolkę Label

Kontrolka Timer znajduje się w kategorii Składniki

kontrolka Timer Visual studio C#

i należy do kontrolek niewizualnych. Po osadzeniu znajduje się tuż pod oknem projektowanej formatki

zegra Visual Studio C#

Dodajemy kontrolkę ImageList

imageList visual studio c#

Osadzamy kontrolkę PictureBox


pictureBox visual studio c#

We właściwości Dock ustawiamy opcję Fill

właściwość Dock Fill visual studio c#

Układ osadzonych kontrolek przedstawia poniższa ilustracja

układ kontrolek formularza visual studio c#

Krok 3. Tworzymy zasoby graficzne

W dowolnym programie graficznym rysujemy kilka grafik o jednakowych rozmiarach. Proponuję narysować ścianki kostki do gry przy rozmiarze 256 x 256 pikseli. Gotową grafikę dodajemy do kolekcji kontrolki ImageList

zasoby ImageList visual studio c#

Krok 4. Losujemy zasób graficzny

W omawianym przykładzie kolekcja graficzna zwiera sześć sztuk różnych obrazów. Są one indeksowane od zera do pięć. Wybór grafiki będzie się opierać na wylosowaniu wartości liczbowej z zakresu od 1 do 6, wtedy musimy odjąć jeden aby otrzymać indeks z zakresu kolekcji graficznej. Lub losujemy zakresu od 0 do 5, wtedy nic nie odejmujemy.

Poniższy kod przedstawia sposób losowania indeksu z szerszego zakresu licz, tak aby zwiększyć losowość. Indeks wylosowanego zasobu graficznego tworzy reszta z dzielenia.

Funkcja przechwycenia zdarzenia kliknięcia w przycisk ma postać


private void Button1_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
Random los = new Random();
float i = los.Next(1, 100);
i=i % 6 + 1;
toolStripStatusLabel1.Text = "Wylosowano wartość: "+i.ToString();
pictureBox1.Image = imageList1.Images[(int)(i - 1)];
}

Skompiluj program i sprawdź efekt działania

Krok 5. Przygotowanie kontrolki Timer do pracy

Ta część programu jest bardziej skomplikowana. W zdarzeniu Click drugiego przycisku musimy uruchomić lub zatrzymać losowanie, odczytać zadany interwał czasowy kolejnych odstępów losowań oraz podmienić tytuł klawisza.

Propozycja jednego z możliwych rozwiązań

private void Button2_Click(object sender, EventArgs e)
{
int interwal = Convert.ToInt16(textBox1.Text)*1000;
timer1.Interval = interwal;
timer1.Enabled = !timer1.Enabled;
if (timer1.Enabled) button2.Text = "Zatrzymaj";
else
{
button2.Text = "Losuj z zegara co:";
pictureBox1.Image = null;
}
}

Skompilowanie i uruchomienie programu na tym etapie będzie w sposób widoczny zmieniać tytuł, a w niewidoczny włączać lub wyłączać kontrolkę Timer

Krok 6. Cykliczne losowanie zasobu graficznego

Cykliczne losowanie zapewni kod programu umieszczony w zdarzeniu Tick kontrolki Timer. Przykładowy kod ma postać


private void Timer1_Tick(object sender, EventArgs e)
{
Random los = new Random();
float i = los.Next(1, 100);
i = i % 6 + 1;
toolStripStatusLabel1.Text = "Wylosowano wartość: " + i.ToString();
pictureBox1.Image = imageList1.Images[(int)(i-1)];
}

Skompiluj i uruchom program. Sprawdź efekt działania

zmienna losowa i kontrolka Timer Visual Studio C#


Aplikacje na Androida

Okręty- bitwa morska
okręty gra sieciowa
Darmowa aplikacja na Androida
Kalkulator jednostek fizycznych
Kalkulator jednostek fizycznych (tablet, smartfon, telefon)
Znaki drogowe.
znaki drogowe na telefon, tablet, smartfon
Darmowa aplikacja na Androida
Geometria. Wzory
geometri kalkulator wzory figur bryl

© baibaz - stock.adobe.com

przepis na gofryZobacz przepis na wyśmienite gofry