2015-05-26 5 views
3

Возможно ли в любом случае указать, какой месяц должен отображаться сначала в месяцном календаре, когда вы показываете более одного месяца за раз?Укажите первый месяц в месяц Календарь, если размеры больше 1,1

Я видел похожие вопросы, но никто не получил ответа, вместо этого им было предоставлено обходное решение для их задачи. Я хотел бы просто «да как это ...» или «нет, потому что ...»

Я попытался

monthCalendar.TodaysDate 
monthCalendar.MinDate  
monthCalendar.MaxDate  
monthCalendar.SetDate  
monthCalendar.SelectionStart  
monthCalendar.SelectionEnd 

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

EDIT 5/29/2015

Представляется, что эта проблема возникает только при попытке установить MonthCalendar с будущей датой текущего года (2015 г.). Хороший пример для проверки - 20/20/2015.

+0

Фактически это происходит только в том случае, если вы выбрали дату в будущем, вы можете выбрать, например. 1/20/2015, и все в порядке. То, что я вижу, всегда хочет, чтобы текущий месяц был показан в первый месяц. – DrewJordan

+0

Спасибо @DrewJordan за это. И все, что прошло в текущем месяце, все равно делает это. Например: если вы выбираете дату за пять месяцев до текущего месяца с (3,1), она по-прежнему действует одинаково. Даже если текущий месяц не отображается. Очень странное поведение. Мне интересно, если это намеченная функциональность. – Cody

+0

Настройка 'MinDate', похоже, работает хорошо для меня - что вы пытались с ней? Возможно, отредактируйте свой вопрос и добавьте полный пример? –

ответ

0

Да, это возможно. Я сделал это с комбинацией SelectionStart и SelectionEnd.

this.monthCalendar1.CalendarDimensions = new System.Drawing.Size(4, 3); 
this.monthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday; 
this.monthCalendar1.SelectionStart = new DateTime(1980, 5, 20); 
this.monthCalendar1.SelectionEnd = new DateTime(1980, 5, 20); 

Edit: Это на самом деле работал нормально для меня, чтобы просто установить SelectionStart также, единственная проблема в том, что он выбирает вперед максимального числа выбора по умолчанию.

+0

Извините, но этот код не работает полностью. Когда вы пытаетесь установить дату на текущий год (2015), возникает проблема. Я отредактирую вопрос, чтобы отразить, что проблема только с текущим годом. – Cody

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