Zadatak:
Napraviti Windows aplikaciju, koja će imati jednu MonthCalendar kontrolu i jedan Button. Korisnik treba da izabere opseg dana, a pritiskom na dugme treba da se pojavi MessageBox sa porukom o broju odabranih dana. Program napraviti kao Windows aplikaciju da izgleda kao na slici ispod (Slika 1.1).

Slika 1.1: Izgled programa

Kada korisnik klikne na “OK” u MessageBox-u, treba da se pojavi novi MessageBox sa porukom, koja govori od kog do kog tačno datuma je izabrani opseg. To je prikazano na sledecoj slici (Slika 1.2):

  Slika 1.2: Odabir opsega

 

Isto tako, potrebno je obezbediti i da korisnik bude obavešten odgovarajućom porukom, u slucaju da uopšte ne izabere opseg, a pritisne dugme “Odaberite termin”.

Rešenje:
Dodavanje MonthCalendar kontrole na formu, vrši se u Design Mod-u, prevlačenjem iz Toolbox-a. U Properties prozoru za MonthCalendar kontrolu treba odrediti maksimalan broj dana, koji se mogu selektovati korišćenjem ove kontrole. Za tu svrhu se koristi svojstvo MaxSelectionCount. Prozor Solution Explorer-a treba da izgleda kao na sledećoj slici (Slika 1.3):

 

Slika 1.3: Izgled Solution Explprera

Kod za dugme ‘Odaberite termin’:

//objektu klase TimeSpan dodeljuje se izabrani broj dana
TimeSpan ts = monthCalendar1.SelectionEnd – monthCalendar1.SelectionStart ;
// u slucaju da korisnik nije izabrao termin, startuje se message box
// sa odgovarajucom porukom

if (ts.Days < 1)
{
MessageBox.Show(Koriscenjem tastera SHIFT selektujte opseg datuma);
return;
}
// poruka o izabranom broju dana
MessageBox.Show(Rezervistali ste usluge u trajanju od +ts.Days.ToString() +dana.”,Rezervacija”);
// poruka o izabranim datumima pocetka i kraja rezervacije
MessageBox.Show(Vasa rezervacija pocinje + monthCalendar1.SelectionStart.ToShortDateString() + a zavrsava se + monthCalendar1.SelectionEnd.ToShortDateString());
}

Kompletno rešenje zadatka možete da preuzmete ovde.