Windows 7 中的 MonthCalendar 不同

Posted

技术标签:

【中文标题】Windows 7 中的 MonthCalendar 不同【英文标题】:MonthCalendar different in Windows 7 【发布时间】:2012-10-09 09:43:20 【问题描述】:

我们正在确保我们的应用程序可以在 Windows XP 和 Windows 7 中运行。其中一个使用 System.Windows.Forms.MonthCalendar。显示完全不同。

日历有一个 MaxDate,在 XP 版本中我们可以看到所有日期但不能选择它们。在 Win 7 中,无法选择的日期是不可见的。

是否可以显示所有日期? 我找不到有关此更改的官方 Microsoft 声明。

XP 与 Win7

【问题讨论】:

【参考方案1】:

是的,MonthCalendar 是 Windows 中的常用控件之一。它与 TreeView 和 ListView 位于同一组中,您肯定注意到它们看起来也不同。和 Common Dialogs 的表亲,请看 OpenFileDialog。您跳过了 Vista,这就是 MonthCalendar 获得新外观的时候。

这是 Microsoft 赋予 Windows 版本不同外观并在标准 Windows UI 元素的可用性方面进行创新的方式。重度称重和疼痛,并经过用户测试。您也将自动获得相同的外观,您无需在代码中执行任何操作。这是一个非常好的功能,您的用户现在将立即如何使用您的程序,因为它的外观和工作方式与她使用的任何其他程序一样。

试图让时钟倒带是个坏主意。您的应用程序看起来就像在上个世纪被遗忘了,绝不是您想给付费客户留下的那种印象。并且将与使用日历的任何其他应用程序截然不同。您可以使用 SetWindowsTheme() 来覆盖视觉样式,但这会使时钟回到 1999 年。不要这样做。

【讨论】:

以上是关于Windows 7 中的 MonthCalendar 不同的主要内容,如果未能解决你的问题,请参考以下文章

Windows 7 中的 MonthCalendar 不同

增加 Windows 7 中的 SetWindowsHookEx 限制

PyQt:Windows Vista/7 上 QTableView 中的 QStyledItemDelegate?

Windows 7 与 Windows XP 上 Firefox 中的字体行间距

Windows 7中的断电事件... C#问题[重复]

Windows Phone 7 中的推送通知问题