2014-12-20 4 views
-1

В системе, которую я делаю, мне нужен календарь, который имеет только выходные каждого месяца позволило выбрать, остальное выключен ..Настройка WinForms календаря управления

Как я могу сделать это в C# Winforms?

Я исследовал в Интернете и здесь, на Форуме, и ничего подобного не нашел, я нашел кое-что, но я не мог делать то, что хочу.

ответ

0

Welcomee на StackOverflow,

Эта опция не доступна в рамках существующих инструментов. Вы можете пойти и сделать собственный контроль, создав пользовательский DateTimePicker, унаследованный от стандартного. Я никогда не делал этого, но this might get you started. или вы могли бы быть в состоянии do something with this article.

Если вы не хотите идти в пользовательские элементы управления, которые сделают вас тратить много времени, вы можете просто сделать что-то вроде этого:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { 

    var dtp = sender as DateTimePicker; 

    var selectedDate = dtp.Value; 

    if (!(selectedDate.DayOfWeek == DayOfWeek.Saturday || selectedDate.DayOfWeek == DayOfWeek.Sunday)) 
    { 

    var offset = (int)DayOfWeek.Saturday - (int)selectedDate.DayOfWeek; 

    var saturday = selectedDate + TimeSpan.FromDays(offset); 

    dtp.Value = saturday; 

    label1.Text = "only saturday or sunday please"; 

    } 

}

и запросите у пользователя сообщение с надписью, в котором сообщается, что оно было изменено.

+0

Очень хороший человек, но он не позволяет выбирать воскресенья, только по субботам. Мне нужны только выходные (суббота и воскресенье). Я думал, что могу оставить другие даты, например, или не выбрать. Но в этом случае это очень хорошо –

+0

Если это правильный ответ, вы можете отметить это как принятый ответ. – CularBytes

+0

Да, это правильный ответ, но он не позволяет выбирать воскресенья, только по субботам. Мне нужны только выходные (суббота и воскресенье): пожалуйста, помогите мне, пожалуйста? –

0

В Winforms нет специального контроля. Самое простое решение - использовать элемент управления WPF, а затем узел Winforms для управления WPF. Вы можете найти некоторые подробности здесь: https://stackoverflow.com/a/27319756/3330348

Смежные вопросы