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

Posted

技术标签:

【中文标题】当 ShowToday 为 False 时,MonthCalendar 控件有额外的边框【英文标题】:MonthCalendar Control has extra border when ShowToday is False 【发布时间】:2009-12-29 19:56:14 【问题描述】:

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

有没有办法禁用它?

【问题讨论】:

截图和一些代码怎么样?这可能会有所帮助。 【参考方案1】:

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

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

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

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

【讨论】:

以上是关于当 ShowToday 为 False 时,MonthCalendar 控件有额外的边框的主要内容,如果未能解决你的问题,请参考以下文章

为啥当 Debug 设置为 False 时,Django 会为静态媒体生成 HTTP 500 错误?

当其中一个变量为 False 时 (&&) 不返回 False [关闭]

ceph在扩展mon节点时,要注意的问题

当命令 CanExecute 为 false 时,按钮不会被禁用

ceph mon选举流程

当背景选项为 False 时启用在引导模式外部单击