2016-01-18 9 views

Odpowiedz

0

Spróbuj użyć właściwości format:

dateTimePicker.Format = DateTimePickerFormat.Custom; 
dateTimePicker.CustomFormat = "MM"; 
+0

Próbowałem już tego. Zmieni się tylko wyświetlacz, ale po kliknięciu menu rozwijanego. Wciąż pokazuje dni. – Bigboss

+1

Zobacz moją zaktualizowaną odpowiedź. Myślę, że musisz zastąpićDatePicker z MonthCalendar, jeśli chcesz wyświetlać kalendarz bez dnia. – FrozenFire

+0

Czy przeczytałem edycję ur, ale jakie opcje powinienem zmienić w klasie MonthCalendar. Uważam, że ta klasa jest używana przez datetimepicker po kliknięciu menu rozwijanego. – Bigboss

2

Dlaczego trzeba to zrobić? Jeśli chcesz wyświetlać tylko miesiące, to łatwiej jest mieć listę miesięcy w Combox.

Jednak znalazłem coś dla ciebie na msdn. Rzucić okiem tutaj https://social.msdn.microsoft.com/Forums/en-US/7bdca56f-719e-44bf-be6d-a9600dfa8f78/wpf-datepicker-for-months-only?forum=wpf

+0

ponieważ potrzebuję tylko użytkownika, aby wybrać miesiąc i nie chcę wprowadzać ich w błąd myśląc, że data powinna być również dokładna, dlatego jedyną ważną rzeczą jest miesiąc. – Bigboss

+2

@Bigboss Lista miesięcy w ComboBox jest standardowym rozwiązaniem dla tego, czego potrzebujesz. –

+1

@JeremyThompson, ale co powiesz na rok? – Bigboss

1

Spróbuj następujący kod:

DateTime newDateValue = new DateTime(dateTimePicker_month.Value.Year, 1, 1); 
dateTimePicker_month.Value = newDateValue; 
dateTimePicker_month.Format = DateTimePickerFormat.Custom; 
dateTimePicker_month.CustomFormat = "MMM-yyyy"; 
dateTimePicker_month.ShowUpDown = true; 

Trzeba dodać (1,1) za miesiąc luty, które mającego 28/29 dni, aby ustalić cały miesiąc values.If chcesz kwerenda, aby wybrać month.Following przykład:

string month = dateTimePicker_month.Value.Month.ToString(); 
string year = dateTimePicker_month.Value.Year.ToString(); 

stosować następujące kwerendy, aby wybrać miesiąc:

select CAST(date AS DATE) from table where DATEPART(month, date) = '" + month + "' and DATEPART(year,date) = '" + year + "' 
Powiązane problemy