Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 512
Эндрю Троелсен
При добавлении вами ресурсов (например, изображений в PictureBox) с помощью визуальных инструментов проектирования этот файл *.resx будет изменяться автоматически. Более того, вы
Если вы захотите предложить пользовательский набор ресурсов, не связанный непосредственно с данной формой, просто добавьте новый файл *.resx (в нашем примере это файл MyCustomResources.resx), выбрав команду Project→Add New Item из меню (рис. 20.27).
Если открыть новый файл *.resx, соответствующий редактор позволит вставить необходимые строковые данные, изображения, звуковые фрагменты и другие ресурсы. Крайнее слева раскрывающееся меню позволит выбрать вид ресурса, который вы хотите добавить. Сначала добавьте новый строковый ресурс с именем WelcomeString, чтобы с его помощью задать то сообщение, которое вы хотите видеть (рис. 20.28).
Теперь добавьте изображение happyDude.bmp, сначала выбрав Images из крайнего меню, после этого – Add Existing File (рис. 20.29), а затем – указав файл happyDude.bmp в появившемся окне загрузки файла.
Рис. 20.27. Добавление нового файла *.resx
Рис. 20.28. Добавление нового строкового ресурса с помощью редактора файлов *.resx
Рис. 20.29. Добавление нового ресурса *.bmp с помощью редактора файлов *.resx
После этого вы обнаружите, что файл *.bmp скопирован в каталог вашего приложения. Выбрав пиктограмму happyDude в редакторе *.resx и используя возможности свойства Persistеnce, можно потребовать, чтобы данное изображение было непосредственно встроено в компоновочный блок, а не задавалось ссылкой на внешний файл (рис. 20.30).
Рис. 20.30. Встраивание указанных ресурсов
Теперь окно Solution Explorer предлагает новую папку под названием Resources, которая содержит все элементы, встроенные в компоновочный блок. Легко догадаться, что при открытии ресурса Visual Studio 2005 запускает соответствующий редактор. В любом случае, если вы теперь скомпилируете свое приложение, указанные вами строка и изображение будут встроены в компоновочный блок.
Чтение ресурсов программными средствами
Теперь, когда вы понимаете суть процесса встраивания ресурсов в компоновочный блок (с помощью csc.exe или Visual Studio 2005), нужно выяснить, как с помощью типа ResourceManager программно прочитать соответствующую информацию для использования в программе. Для этого добавьте в свою форму элементы Button и PictureBox (рис. 20.31).
Рис. 20.31. Обновленный интерфейс пользователя
Теперь обработайте событие Click для Button. Добавьте в обработчик указанного события следующий программный код.
// Не забудьте указать 'using'
// для System.Resources и System.Reflection!
private void btnGetStringData_Click(object sender, EventArgs e) {
// Создание менеджера ресурсов.