seleccionada obtener month form fecha ejemplo calendario c# .net winforms calendar globalization

c# - obtener - Cómo mostrar el calendario tailandés en el control MonthCalendar independientemente de la cultura actual



monthcalendar events (1)

Si bien se menciona en un artículo de MS Support sobre VS 2005 y .NET 2.0 , es posible que se ocupe del mismo problema que describe:

Este comportamiento se produce porque el control DateTimePicker y el control MonthCalendar son controles comunes de Microsoft Windows. Por lo tanto, la configuración regional del usuario del sistema operativo determina la interfaz de usuario de estos controles.

Una forma de verificar esto, por supuesto, es cambiar la configuración regional del usuario de su SO y ver si su MonthCalendar sigue el cambio.

No conozco una forma de evitar la deferencia del control MonthCalendar respecto a la configuración regional del usuario del sistema operativo, pero una posibilidad que podría considerar es un control de calendario alternativo que tenga en cuenta la configuración regional.

Por ejemplo, un control de calendario sensible a la configuración regional descrito en CodeProject suena esperanzador. Los controles de calendario de terceros (p. Ej., Telerik, Infragistics, etcétera) también pueden arrojar algo.

Estoy trabajando en c # winforms. He tomado el control MonthPicker en el formulario de Windows. Quiero mostrar el calendario tailandés, independientemente de la cultura que se establezca en la máquina de escritorio del usuario, como se muestra en la figura a continuación.

Cuando la cultura de la máquina del usuario está configurada en inglés , muestra el calendario en inglés . cuando la cultura de la máquina del usuario está configurada en tailandés , muestra el calendario tailandés . Quiero el calendario tailandés en ambos casos .

He intentado con la línea de código siguiente antes de InitializeComponent () pero sin obtener el resultado deseado. ¿Hay alguna equivocación que estoy haciendo o hay alguna otra manera de lograr lo mismo?

system.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("th-TH"); System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("th-TH");