Search code examples
.netwinformswindows-server-2008windows-server-2003datetimepicker

WinForms - DateTimePicker default month selection behavior for Server 2003 vs Server 2008?


Good Afternoon!

Has anybody else noticed a change in the default behavior of the "next" and "previous" month arrows in the standard WinForms DateTimePicker control? I have users running on both Windows Server 2003 and Windows Server 2008 R2, and they are reporting that on 2008 (and Vista/Win7), clicking the right or left arrows on the drop-down Calendar now selects the first day of the month rather than retaining the same day like 2003 (and XP) does.

I have checked this out (I have a Win7 machine) and I have confirmed this behavior. I would prefer that the behavior remain consistent whenever possible. Does anybody know what causes this and if there is a way to get around this? Is there a way to trap the arrow-click event and force the resulting date to retain the original day rather than be reset to the first of the month?

I thought about seeing if there was a way to hit-test the control on a MouseUp event and determine if the arrow buttons were clicked, and then override the month value being set, but I'm not sure if that is even possible. Can anybody provide some wisdom or insight? Thanks!


Solution

  • DateTimePicker is a native Windows control, the .NET class is wrapper for it. Yes, several look-and-feel changes in that native control since Vista. You should not fix behavior, the user will perceive your control to have non-standard behavior since it acts differently from all other ones shown by different programs that run on that operating system.