Возможно ли переопределить CurrentCulture
и CurrentUICulture
для конкретного элемента управления в WinForms? Чтобы этот конкретный контроль использовал другую культуру?Переопределить CurrentCulture для управления WinForms
ответ
Вы можете достичь этого, создав экземпляр CultureInfo по вашему выбору и передав это как параметр для функций форматирования (например, ToString). Просто не назначайте его Thread.CurrentThread.CurrentCulture или Thread.CurrentThread.CurrentUICulture, так как это изменит культуру для приложения как такового.
В коде:
CultureInfo myCulture = CultureInfo.GetCultureInfo("en-US");
Console.WriteLine(DateTime.Now.ToString(myCulture));
Если ваш код выполняет внешний код, и вы хотите, чтобы заставить этот код, чтобы использовать внутренне выбранную культуру, вы можете сделать это, создав новую тему, присвоить культуру этот поток, а затем этот поток выполняет код. Просто не забудьте обратить внимание на проблемы с потоками, которые возникают с этим подходом.
образец резьбы:
string formattedDate = string.Empty;
Thread t = new Thread(delegate()
{
// call external code without specifying culture
formattedDate = DateTime.Now.ToString();
waitHandle.Set();
});
t.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
t.Start();
waitHandle.WaitOne(); // wait for the thread to finish
Console.WriteLine(formattedDate);
В последний момент; Я не знаю , почему вы хотите переопределить CurrentCulture, но я бы посоветовал вам подумать дважды, прежде чем делать это. Пользователи используют для отображения дат, отформатированных в соответствии с их локалью; это может сбивать с толку, особенно если это происходит только в одной части пользовательского интерфейса.
Я не думаю, что вы можете сделать это для одного элемента управления, но для текущего потока можно переключаться, как это:
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("DE");
Привет, я знаю, как установить его для всего потока, но это не помогает мне, поскольку мне нужно измените его для специального элемента управления в моей форме. –
- 1. Переопределить поведение вкладок в WinForms
- 2. Простой способ установки CurrentCulture для всего приложения?
- 3. WinForms и утилизации пользовательского управления
- 4. Переопределить Winforms ComboBox Autocomplete Предложить Правило
- 5. Как переопределить свойство Control.Enabled в C# Winforms?
- 6. Свойства расширенного управления Winforms
- 7. unclipped Элементы управления Winforms?
- 8. Как переопределить естественные навигации в C# WinForms
- 9. Подкласс встроенного управления WinForms?
- 10. Как переопределить CurrentThread.CurrentCulture для приложения
- 11. .NET WinForms Класс управления
- 12. Настройка WinForms календаря управления
- 13. Заблокировать элемент управления winforms
- 14. Утилизация элементов управления Winforms
- 15. Почему CurrentCulture - свойство Thread?
- 16. Глобальная обработка исключений для управления winforms
- 17. Отключить доступ TAB для управления в WinForms
- 18. Показана подсказка для управления редактированием C# winforms
- 19. использование закладок для невидимого управления в WinForms
- 20. Элементы управления несколькими колонками ComboBox для Winforms
- 21. Элементы управления Ajax для .NET winforms
- 22. «Collapse» Панели управления панелями для WinForms
- 23. Использование метода управления элементом управления в WinForms
- 24. C# .NET Winforms: возможно ли переопределить Label.Autosize?
- 25. Переопределить FontStyle для всех элементов управления
- 26. Переопределить темуResource для определенных элементов управления
- 27. Как переопределить css для определенного элемента управления?
- 28. Определить CurrentCulture и CurrentUICulture для произвольного HttpContext
- 29. Как получить правильное значение для CurrentCulture?
- 30. Есть ли элемент управления WinForms для отображения и скрытия другого элемента управления WinForms?
Чтение свой вопрос еще раз, я понимаю, что я, возможно, не понял вас ... Я сначала прочитайте, как будто вы управляете тем, что хотите иметь другую культуру, но теперь я понимаю, что вы, возможно, хотите иметь действующий элемент управления (например, Button), используя другую культуру ... –
последнее, что правильно. У меня есть существующий элемент управления (без доступа к источнику), и я бы хотел, чтобы этот элемент управления использовал другую культуру. –