2016-01-18 17 views
7

Vì vậy, thay vì điều này hiển thị khi nhấp vào trình đơn thả xuống.Làm cách nào tôi có thể đặt trình đơn thả xuống datetimepicker để hiển thị Tháng chỉ

enter image description here

Tôi muốn thả xuống để được như thế này khi nhấp vào.

enter image description here

Cảm ơn rất nhiều sự giúp đỡ. :)

+0

Winforms hoặc WPF? – Tyress

+0

oh xin lỗi. quên đề cập đến. Nó nằm trên cửa sổ. – Bigboss

+0

Biểu mẫu Windows hoặc Windows WPF? Tôi giả sử Windows = Windows Forms. – Tyress

Trả lời

0

Hãy thử sử dụng các thuộc tính Format:

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

Đã thử điều này. Chỉ thay đổi được hiển thị nhưng khi menu thả xuống được nhấp. Nó vẫn cho thấy những ngày. – Bigboss

+1

Xem câu trả lời cập nhật của tôi. Tôi nghĩ bạn cần thay thếDatePicker bằng MonthCalendar nếu bạn muốn hiển thị lịch mà không cần ngày. – FrozenFire

+0

Tôi đã đọc các chỉnh sửa ur nhưng tôi nên thay đổi các tùy chọn nào trong Lớp MonthCalendar. Tôi tin rằng lớp này là lớp được sử dụng bởi datetimepicker khi nhấp vào trình đơn thả xuống. – Bigboss

2

Tại sao bạn cần phải làm điều này? Nếu bạn muốn hiển thị tháng chỉ sau đó cách dễ dàng hơn là có một danh sách các tháng trong Combox.

Tuy nhiên, tôi đã tìm thấy thứ gì đó cho bạn trên msdn. Có một cái nhìn ở đây https://social.msdn.microsoft.com/Forums/en-US/7bdca56f-719e-44bf-be6d-a9600dfa8f78/wpf-datepicker-for-months-only?forum=wpf

+0

vì tôi chỉ cần người dùng chọn một tháng và không muốn đánh lừa họ trong suy nghĩ rằng ngày cũng phải chính xác, do đó điều duy nhất quan trọng là tháng. – Bigboss

+2

@Bigboss Danh sách các tháng trong ComboBox là giải pháp tiêu chuẩn cho những gì bạn yêu cầu. –

+1

@JeremyThompson, nhưng nếu tôi muốn một năm thì sao? – Bigboss

1

Hãy thử đoạn mã sau:

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; 

Bạn phải thêm (1,1) cho tháng hai tháng mà có 28/29 ngày để xác định tất cả các tháng values.If bạn muốn truy vấn để chọn month.Following là một ví dụ:

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

sử dụng truy vấn sau đây để chọn tháng:

select CAST(date AS DATE) from table where DATEPART(month, date) = '" + month + "' and DATEPART(year,date) = '" + year + "' 
Các vấn đề liên quan