A DateTimePicker komponens segítségével egyszerűen kérhetünk be vagy írhatunk ki dátumot, időt. Két részből áll: egy szövegbeviteli doboz, mely a dátumot/időt tartalmazza szöveges formában, és egy lenyíló naptár, mely megegyezik a MonthCalendar komponens kinézetével és használatával.
A lenyíló naptár helyett használhatjuk a komponenst görgetőkkel is (a lenyitó gomb helyett fel-le gombok jelennek meg) a ShowUpDown tulajdonság igazra állításával.
Beállíthatunk két dátumot (minimum és maximum), melyek határt szabhatnak a bevitelre, ezeknél kisebb vagy nagyobb dátumot nem lehet beírni.
A kívánt értékeket négyféle formátumban képes a komponens megjeleníteni:Hosszú dátum (év, hónap neve, nap)Rövid dátum (év, hónap száma, nap)Idő (óra, perc, másodperc)Egyéni (custom)
Tulajdonságok:
CalendarFont |
A megjelenő naptár betűtípusa |
CalendarForeColor |
~ betűszíne |
CalendarMonthBackground |
~ háttérszíne |
CalendarTitleBackColor |
~ címsáv háttérszín |
CalendarTitleForeColor |
~ címsáv betűszín |
CalendarTrailingForeColor |
~ megelőző és követő hónap napjainak színe |
Checked |
Ha a ShowCheckBox tulajdonság értéke true, ellenőrizhető, hogy a felhasználó választott-e értéketFalse |
CustomFormat |
Egyéni formátum-string dátum és/vagy idő kiírásához |
DropDownAlign |
Beállítja, hogy a lenyíló hónap-naptár a komponenshez hogyan legyen igazítvaLeft vagy Right |
Format |
A komponensben szereplő dátum/idő formátuma. Választhatunk a beépített formátumok közül vagy lehet egyedi Long/Short/Time/Custom |
MaxDate |
A legkésőbbi beírható dátum |
MinDate |
A legkorábbi beírható dátum |
ShowCheckBox |
Meghatározza, hogy szerepeljen-e egy jelölőnégyzet a komponensen. Amíg a jelölőnégyzet nincs kijelölve, addig nem volt érték kiválasztva.False |
ShowUpDown |
A lenyíló naptár helyett a kiválasztott dátumot/időt egy fel-le görgetővel változtathatjuk (spinner)False |
Value |
Az aktuális dátum/idő |
Események:
CloseUp |
Bekövetkezik, ha a felhasználó a lenyíló naptárból kiválasztott egy dátumot |
DropDown |
Bekövetkezik, ha a naptár lenyílik |
ValueChanged |
Bekövetkezik, ha a komponens értéke megváltozik |
Érték beírása és kiolvasása
A komponensben kiválasztott értéket a Value tulajdonság tartalmazza. Alapértelmezésben ez az érték az aktuális dátumot/időt tartalmazza. Az érték beállítható szerkesztéskor vagy futásidőben is, pl. a komponenst tartalmazó form megjelenítésekor.
A komponens egy DateTime értéket ad vissza, vagy kaphat.
Tulajdonságok dátumban:
Year (év), Month (hónap), Day (nap) tulajdonságok egész számokat adnak vissza.
DayOfWeek tulajdonság a hét egy napjának nevét adja vissza (Monday, … , Sunday)
Tulajdonságok időben: Hour (óra), Minute (perc), Second (másodperc) és Millisecond (ezredmásodperc) tulajdonságok egész számot adnak vissza.
Értékadás:
DateTimePicker1.Value = new DateTime(2004, 9, 16);
Érték kiolvasása:
this.lblDatum.Text = DateTimePicker1.Value.ToString();
Egyéni formátum-string:
Állítsuk a Format tulajdonságot Custom-ra. A formátum-stringben az alábbiak használhatók:
D |
Egy vagy kétjegyű nap száma |
Dd |
Kétjegyű nap. Ha csak egyjegyű, kiegészül egy megelőző nullával |
Ddd |
Nap neve három betűs rövidítéssel |
Dddd |
Nap teljes neve |
Hh |
Kétszámjegyű óra, 12 órás ábrázolás |
H |
Egy vagy kétszámjegyű óra, 24 órás ábrázolás |
HH |
Kétszámjegyű óra, 24 órás ábrázolás |
M |
Egy vagy kétszámjegyű perc |
Mm |
Kétjegyű perc. Ha csak egyjegyű, kiegészül egy megelőző nullával |
M |
Egy vagy kétszámjegyű hónap |
MM |
Kétszámjegyű hónap, nullás kiegészítés |
MMM |
Hónap neve három betűs rövidítéssel |
MMMM |
Hónap teljes neve |
S |
Egy vagy kétszámjegyű másodperc |
Ss |
Kétszámjegyű másodperc, nullás kiegészítés |
T |
Egy betűs AM/PM kijelzés (délelőtt/délután) |
Tt |
Két betűs AM/PM kijelzés |
Y |
Egy számjegyű év (2001 megjelenítése: ”1”) |
Yy |
Két számjegyű év (2001 megjelenítése: ”01”) |
Yyyy |
Teljes év kiírása (2001 megjelenítése: ”2001”) |
A formátum-stringben szerepelhetnek még saját jelek, betűk, akár szöveg is. Ha nem szerepeltetünk benne a fenti karakterekből, akkor csak be kell írni. Ha a fenti betűk valamelyikét szeretnénk, akkor két aposztróf közé kell írni, pl.:hh:mm 11:23 hh’d’mm 11d23
Angol stílusú dátum-formátum:
public void EgyeniDatumFormatum()
{
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MMMM dd, yyyy - dddd";
}
A DateTimePicker becsukott állapotban: