Создание Windows-приложений на основе Visual C#

         

Автоматический выбор языка


В ходе установки операционной системы Windows при определении региональных параметров пользователю предлагается выбрать язык стандартов и форматов. Выбранное значение доступно для изменения в дальнейшем — в меню "Пуск" выбираем "Панель управления\Язык" и региональные параметры, вкладка "Региональные параметры" (рис. 8.23).


Рис. 8.23.  Инструмент "Язык и региональные параметры" Панели управления

Сделаем приложение, которое автоматически будет определять установленный язык стандартов и выводить соответствующий пользовательский интерфейс. Создаем новый Windows-проект, называем его SimpleCulture. Добавляем на форму кнопку и главное меню, устанавливаем следующие значения свойства Text этих элементов (рис. 8.24).


Рис. 8.24.  Приложение SimpleCulture. Размер формы — 300х128 пикселей

Значения свойств Name изменять не будем — наш проект достаточно прост, чтобы тратить на это время. Для кнопки устанавливаем обработчик, закрывающий форму:

private void button1_Click(object sender, System.EventArgs e) { this.Close(); }

Итак, у нас получилась версия программы с интерфейсом на английском языке. В окне Properties формы устанавливаем свойству Localizable значение True. Это свойство разрешает поддержку многоязычного интерфейса. В свойстве Language выбираем значение English (United States). В выпадающем списке этого свойства доступны практически все языки мира с учетом региона; так, английскому языку соответствует 14 значений. Компилируем приложение. В свойстве Language выбираем Russian (Russia). Изменяем свойство Text элементов, просто удаляя названия на английском языке (рис. 8.25).


Рис. 8.25.  Приложение SimpleCulture с интерфейсом на русском языке. Размер формы — 264х208 пикселей

При изменении значения свойства Language форма теперь меняет пользовательский интерфейс. Обратите внимание на то, что значение Default этого свойства не является тождественным значению English (United States)! В этом можно убедиться, изменив размер формы или текст на кнопке в локальной версии, а затем переключившись на Default. Более того, при разработке интерфейса на нескольких языках следует выполнить основную функциональность приложения в значении Default, а затем заняться его локализацией — при переключении на другие языки интерфейс наследуется только от Default!

Переходим в код формы. Подключаем пространство имен Threading:



Содержание раздела