Смена языка приложения winforms в рантайме

189
16 ноября 2017, 01:43

Есть приложение у которого для каждой формы есть Resource-файлы для разных языков - EN, DE, RU и тд.

Сейчас язык выбирается автоматически в зависимости от культуры активной для системы. То есть в немецком виндовсе - автоматически загрузятся немекцкие ресурсы, а в русском - русские и тд.

Хочется дать возможность пользователю в меню выбрать язык. То есть что бы он в меню кликнул на "Английский" и ррраааз - все надписи на всех элементах поменялись.

Как это лучше сделать? Какой правильный путь?

Пока чего-то не выходит у меня. Культуру меняю а все надписи остаются старыми. Перезагружать форму (что бы выполнилась ф-ия InitializeComponent() ) и терять данные не хочется.

Писать функцию в которой всем нужным св-вам нужных элементов присваиваются тексты из соответствующего культуре ресурса - лениво. Есть другой, более автоматический, способ? Подозреваю что нет, но вдруг....

READ ALSO
Событие на изменение члена класса

Событие на изменение члена класса

Событие на отслеживание изменения переменной выглядит так:

189
Выделение в TextBox с правой стороны

Выделение в TextBox с правой стороны

Текстовое поле с шириной Auto не имеет отступов внутри себя, границы текстового поля подпирают текст, выделить его с правого края крайне неудобноЕсли...

163
Аналог KeyData для Keypress в c#

Аналог KeyData для Keypress в c#

Хочу реализовать возможность движения объекта при зажатии клавишиРанее использовал form keydown, но получается не очень плавно:

296
Добавление UserControl-ов по центру FlowLayoutPanel

Добавление UserControl-ов по центру FlowLayoutPanel

При добавлении UserControl-ов в FlowLayoutPanel, они прижимаются к левому краю

265