当ShowToday为False时,MonthCalendar控件具有额外的边框

时间:2009-12-29 19:56:15

标签: c# winforms user-interface monthcalendar

在Winform的MonthCalendar控件中,当我不想显示今天的标签时,我在日历的顶部和底部会出现一个奇怪的白色边框。

无论如何禁用此功能?

1 个答案:

答案 0 :(得分:5)

我想我也看到了这一点。日历的大小由名为GetMinReqRect()的私有方法计算。当ShowToday关闭时,它返回的大小太大。此方法在参考源中的注释是:

在内部用于获取显示MonthCalendar所需的最小大小。这是必需的,因为如果showToday设置为false,NativeMethods.MCM_GETMINREQRECT返回的值不正确。

在我看来,Windows组中的某个人修复了这个错误并且忘了告诉WF小组。不出所料,WF小组很难找到。

我没有看到明显的解决方法,该方法是私有的。 SetBoundsCore()应用大小,没有办法绕过它。您可以将错误发布到connect.microsoft.com,但是您将获得“发布到论坛以获取帮助”的消息。