Microsoft KB Archive/889834

= The DateTimePicker and MonthCalendar control do not reflect the CurrentUICulture property of an application's main execution thread when you created a localized application in the .NET Framework, in Visual Studio 2005, or in Visual Studio .NET =

Article ID: 889834

Article Last Modified on 12/3/2007

-

APPLIES TO


 * Microsoft .NET Framework 2.0
 * Microsoft .NET Framework 1.1
 * Microsoft .NET Framework 1.0
 * Microsoft Visual Studio 2005 Standard Edition
 * Microsoft Visual Studio 2005 Professional Edition
 * Microsoft Visual Studio .NET 2003 Professional Edition
 * Microsoft Visual Studio .NET 2003 Enterprise Architect
 * Microsoft Visual Studio .NET 2003 Enterprise Developer
 * Microsoft Visual Studio .NET 2003 Academic Edition
 * Microsoft Visual Studio .NET 2002 Professional Edition
 * Microsoft Visual Studio .NET 2002 Enterprise Architect
 * Microsoft Visual Studio .NET 2002 Enterprise Developer
 * Microsoft Visual Studio .NET 2002 Academic Edition

-





SYMPTOMS
You add a DateTimePicker control and a MonthCalendar control to your Microsoft Windows Forms application. Your operating system's calendar is set to English (en_US). However, you set the CurrentUICulture property of your thread to French (fr_FR). The following behavior occurs:
 * The months are displayed in English.
 * The short date format is / /.

The DateTimePicker control and the MonthCalendar control do not reflect the CurrentUICulture property of the application's main execution thread as you expected when you created the localized application.

In the following Microsoft Visual Basic 2005 or Microsoft Visual Basic .NET example, when you set the CurrentUICulture property to fr_FR, the DateTimePicker control and the MonthCalendar control do not display their user interface in French: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(&quot;fr&quot;) System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture

End Sub



CAUSE
This behavior occurs because the DateTimePicker control and the MonthCalendar control are Microsoft Windows common controls. Therefore, the operating system's user locale determines the user interface of these controls.



RESOLUTION
To change this behavior, change the user locale calendar settings in Control Panel. To do this, follow these steps:
 * 1) Click Start, click Control Panel, and then double-click Regional and Language Options.
 * 2) In the Regional and Language Options dialog box, select an item in the Select an item to match its preferences, or click Customize to choose your own format section to select the locale that you want the control to use.
 * 3) Click OK.



MORE INFORMATION
For more information about the DateTimePicker control visit the following Microsoft Developer (MSDN) Web site:

http://msdn2.microsoft.com/en-us/library/system.windows.forms.datetimepicker(vs.71).aspx

For more information about the MonthCalendar control, visit the following MSDN Web site:

http://msdn2.microsoft.com/en-us/library/system.windows.forms.monthcalendar(vs.71).aspx

Additional query words: VS2002 VS2003

Keywords: kbinfo kbtshoot kbwindowsforms kblocalization kbcontrol kbvs2005applies kbvs2005swept KB889834

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.