it-swarm-tr.com

DateTimePicker: Tarih ve saati hem seçin

Tarih ve saati (açılır pencerede) seçmek için DateTimePicker (Winforms) kullanmak mümkün müdür? Toplanan değerin özel gösterimini nasıl değiştirirsiniz? Ayrıca, kullanıcının tarih/saati manuel olarak girmesini sağlamak mümkün müdür?

136
Grzenio

Biçimi Özel olarak ayarlayın ve ardından biçimi belirtin:

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";  

veya bununla birlikte, bunu ortaya koymak istiyorsunuz. Daha sonra doğrudan tarih/saati yazabilirsiniz. MMM kullanıyorsanız, kendiniz için bir kod yazmazsanız (ör. Mayıs'ta 5 sonuç), giriş için ayın sayısal değerini kullanmanız gerekir.

Toplayıcıyı tarih ve saat için birlikte bilmiyorum. Bana özel bir kontrol gibi geliyor.

178
itsmatt

İş için iki DateTimePicker kullanmak en iyisidir, tarih bölümü için varsayılan olacaktır ve ikinci DateTimePicker zaman bölümü içindir. İkinci DateTimePicker öğesini aşağıdaki gibi biçimlendirin.

      timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
      timePortionDateTimePicker.ShowUpDown = true;

Onları yakaladıktan sonra iki böyle görünmeli

Two Date Time Pickers

Her iki kontrolün de DateTime özelliğini almak için aşağıdaki kodu kullanın

DateTime myDate = datePortionDateTimePicker.Value.Date + 
                    timePortionDateTimePicker.Value.TimeOfDay; 

Her iki denetime de DateTime atamak için aşağıdaki kodu kullanın

datePortionDateTimePicker.Value  = myDate.Date;  
timePortionDateTimePicker.Value  = myDate.TimeOfDay; 
55
Vectoria

Ne yazık ki, bu çerçevedeki birçok yanlış isimden biri veya en iyi ihtimalle SRP ihlalidir.

DateTimePicker uygulamasını zaman zaman kullanmak için, Format özelliğini Zaman veya Özel olarak ayarlayın (CustomFormat özelliğini kullanarak zamanın formatını kontrol etmek istiyorsanız Özel'i kullanın). Sonra ShowUpDown özelliğini true olarak ayarlayın.

Bir kullanıcı tarih ve saati elle birlikte ayarlasa da, ikisini de ayarlamak için GUI'yi kullanamaz.

45
Nescio

DateTime Picker, hem tarih hem de saat seçmek için kullanılabilir, bu nedenle 'Tarih ve Saat Seçici' olarak adlandırılır. "Format" özelliğini "Custom" olarak ayarlayabilir ve tarih/saati farklı formatlarda temsil etmek/tarih seçmek için farklı format belirticilerin kombinasyonunu "Özel Biçim "özelliği. Bununla birlikte, eğer Tarihi değiştirmek istiyorsanız, o zaman açılan takvim kullanılabilir; oysa Zaman seçimi durumunda (aynı kontrolde değerleri değiştirmek için yukarı/aşağı tuşlarını kullanmak zorundasınız).

Örneğin özel bir biçim "ddddd, MMMM gg, yyyy ss: dd: ss tt" size şöyle bir sonuç verecektir: "20 Ağustos 2009, Perşembe 02:55:23 PM".

İhtiyaçlarınıza uyacak şekilde format belirticileri için farklı kombinasyonlarla oynayabilirsiniz örneğin --- MMMM "Ağustos", oysa MM "Ağustos"

23
Danish

Visual Studio'daki Properties öğenizin dateTimePicker öğesine gidin ve Format öğesini Custom olarak ayarlayın. CustomFormat altında formatınızı girin. Benim durumumda MMMMdd, yyyy | hh:mm kullandım

enter image description here
dateTimePickerProperties

12
Serge Voloshenko

time göstermesini sağlayabilirsiniz. Bundan sonra muhtemelen istediğinizi elde etmek için iki kontrolünüz (bir tarih, bir kez) gerekir.

1
Craig

Korkarım DateTimePicker kontrolü bu gibi şeyleri yapma yeteneğine sahip değil. Oldukça basit (ve sinir bozucu!) Bir kontrol. En iyi seçenek, istediğinizi yapan bir üçüncü taraf kontrolü bulmak olabilir.

Tarih ve saati manuel olarak yazma seçeneği için, bunu gerçekleştirmek için bir TextBox/DateTimePicker kombinasyonuyla özel bir bileşen oluşturabilirsiniz ve üçüncü taraf denetimleri bir seçenek değilse, oldukça iyi çalışabilir.

1