2009-12-29 4 views
2

В элементе управления месяцем WinformCalendar я получаю странную белую границу сверху и снизу календаря, когда я не хочу показывать сегодняшнюю метку.Элемент управления MonthCalendar имеет дополнительную границу, когда ShowToday False

Есть ли способ отключить это?

+0

Как насчет скриншота и кода? Это может быть полезно. – hughdbrown

ответ

5

Думаю, я тоже это вижу. Размер календаря вычисляется с помощью частного метода с именем GetMinReqRect(). Он возвращает размер слишком большой, когда ShowToday выключен. Комментарий к этому методу приведен в справочном источнике:

Используется внутри, чтобы получить минимальный размер, необходимый для отображения MonthCalendar. Это необходимо, потому что NativeMethods.MCM_GETMINREQRECT возвращает неверное значение, если showToday установлен в значение false.

Похоже, что кто-то из группы Windows исправил ошибку и забыл рассказать группе WF об этом. Неудивительно, что группу WF очень сложно найти.

Я не вижу очевидного обходного пути, метод является частным. SetBoundsCore() применяет размер, нет возможности обойти его. Вы можете отправить сообщение об ошибке на connect.microsoft.com, но вы получите сообщение «сообщение в форум, чтобы получить помощь».

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