Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

MonthCalendar реагирует на “пустые ячейки”

#c_sharp #visual_studio #winforms #calendar

                    




В visual studio есть стандартный контрол MonthCalendar.
По умолчанию контрол выглядит как на левой части картинки. 
На нем видно числа следующего месяца и их можно выделить и контрол переместится на
новый месяц.

Если в контроле установить calendar dimension равный 1,2 то контрол примет  вид как
на правой части картинки. Будет видно сразу два месяца. Но если начать выделять, то
происходит нелепица как показано на видео или в гифке. 

Происходит это потому что в пустых "ячейках" календаря есть дни следующего месяца,
но их не видно, т.к. следующий месяц показан полностью из-за calendar dimension. 

Как сделать так чтоб контрол не реагировал на пустых "ячейках", в которых есть данные
о следующем месяце, но их не видно?
    


Ответы

Ответ 1



С этим ничего сделать нельзя. MonthCalendar — это обёртка над системным элементом управления SysMonthCal32. Сам класс никакой особой логики не содержит, поведение реализовано на уровне операционной системы. А вот операционная система настолько глючная, что выделение так странно работает. Или, может быть, кто-то счёл, что это не баг а фича. Так или иначе, это норма. Вероятно, про этот элемент управления забыли давно и основательно. Сейчас модно использовать WPF, UWP и т. п., а WinForms — это легаси.

Комментариев нет:

Отправить комментарий