Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

Как получить доступ к встроенному ресурсу приложения

Приведенный в листинге 13.6 код демонстрирует, как загрузить растровое изображение из потока встроенного ресурса в ваше приложение. В соответствии с предыдущим изложением в качестве изображения для примера используется файл MyImage.PNG. Этот код следует поместить в форму с элементами управления Button и PictureBox. Как и в предыдущих примерах, для подключения события button1_click к кнопке button1 следует дважды щелкнуть на кнопке в окне конструктора форм, в результате чего будет автоматически сгенерирован костяк функции.

Листинг 13.6. Код формы, демонстрирующий загрузку встроенных ресурсов

System.Drawing.Bitmap m_myBitmapImage;


//------------------------------------------------------------------

//Загрузить изображение, которое хранится в виде встроенного ресурса

//в нашей сборке

//------------------------------------------------------------------

public void LoadImageFromResource {

 //Если изображение уже загружено,

 //то не имеет смысла делать это повторно.

 if (m_myBitmapImage !=null) {

  return;

 }


 //----------------------------------------------------

 //Получить ссылку на двоичную сборку нашего приложения

 //----------------------------------------------------

 System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly;


 //-------------------

 //Получить имя сборки

 //-------------------

 System.Reflection.AssemblyName thisAssemblyName = thisAssembly.GetName;

 string assemblyName = thisAssemblyName.Name;


 //-----------------------------------------------------------------------

 //Извлечь поток изображения из нашей сборки и создать соответствующую

 //ему битовую карту в памяти.

 //ПРИМЕЧАНИЕ: Имя потока ресурса ResourceStream ЧУВСТВИТЕЛЬНО К РЕГИСТРУ,

 // поэтому имя изображения должно В ТОЧНОСТИ совпадать с именем

 // файла изображения, который вы добавили в проект

 //-----------------------------------------------------------------------

 m_myBitmapImage = new System.Drawing.Bitmap(thisAssembly.GetManifestResourceStream(assemblyName + ".MyImage.PNG"));

}


//-----------------------------------------------------------

//Загрузить изображение и отобразить его в объекте PictureBox

//-----------------------------------------------------------

private void button1_Click(object sender, System.EventArgs e) {

 LoadImageFromResource;

 pictureBox1.Image = m_myBitmapImage;

}

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT