Читаем Программирование КПК и смартфонов на .NET Compact Framework полностью

Также можно загрузить изображение из ресурсов приложения. В этом случае надо добавить картинку в проект и для свойства Build Action задать значение Embedded Resource. Тогда не придется специально включать изображения в состав инсталлятора. В листинге 3.19 приведен пример, иллюстрирующий добавление изображения из ресурсов.

Листинг 3.19

private void butRes_Click(object sender, EventArgs e) {

 // Загружаем из ресурсов

 picTest.Image = new Bitmap(Assembly.GetExecutingAssembly().

  GetManifestResourceStream("PictureBox_CS.kristina.jpg"));

}

Элемент ImageList имеет свойство ImageSize, которое задает размеры хранимых изображений. Перед загрузкой картинки в графическое поле можно установить требуемые размеры изображения с помощью данного свойства, как показано в листинге 3.20.

Листинг 3.20

private void butImgList_Click(object sender, EventArgs e) {

 // изменяем размеры картинки

 imageList1.ImageSize = new System.Drawing.Size(160, 120);

 // загружаем картинку с измененными размерами

 picTest.Image = imageList1.Images[0];

}

На рис. 3.11 показан внешний вид приложения, в котором для работы с изображениями применяются все три описанных варианта.

Рис. 3.11. Пример работы с элементом PictureBox

Элемент ListView

Элемент управления ListView похож на элемент ListBox, но вместо обычного текста данный элемент может показывать изображения. Фактически, правая часть рабочего окна Проводника в Windows XP является типичным примером использования этого органа управления. Элементы в ListView могут отображаться в виде таблицы, списка, а также как группа крупных и мелких значков. За способ отображения содержимого отвечает свойство View. Значение Details позволяет отображать содержимое в виде таблицы, значение List создает список, значение LargeIcon позволяет отображать элементы списка в виде больших пиктограмм, а значение SmallIcon отображает их как маленькие пиктограммы.

В режиме Details элемент управления ListView позволяет создавать дополнительные столбцы. Их можно добавлять как во время проектирования, так и во время исполнения программы. Пример добавления столбцов во время работы приложения приведен в листинге 3.21.

Листинг 3.21

private void Form1_Load(object sender, EventArgs e) {

 // Устанавливаем нужный вид

 listView1.View = View.Details;

 // Выделяем всю строку при выделении любого элемента

 listView1.FullRowSelect = true;


 ColumnHeader columnHeader1 = new ColumnHeader();

 ColumnHeader columnHeader2 = new ColumnHeader();

 ColumnHeader columnHeader3 = new ColumnHeader();


 columnHeader1.Text = "Фамилия";

 columnHeader2.Text = "Имя";

 columnHeader3.Text = "E-mail";


 listView1.Columns.Add(columnHeader1);

 listView1.Columns.Add(columnHeader2);

 listView1.Columns.Add(columnHeader3);


 ListViewItem Contact1 = new ListViewItem("Иванов");

 Contact1.SubItems.Add("Иван");

 Contact1.SubItems.Add("ivan@ivanov.ru");


 ListViewItem Contact2 = new ListViewItem("Петров");

 Contact2.SubItems.Add("Петр");

 Contact2.SubItems.Add("peter@petrov.ru");


 ListViewItem Contact3 = new ListViewItem("Сидоров");

 Contact3.SubItems.Add("Арнольд");

 Contact3.SubItems.Add("goat@sidorov.ru");


 listView1.Items.Add(Contact1);

 listView1.Items.Add(Contact2);

 listView1.Items.Add(Contact3);

}

На рис. 3.12 показан внешний вид приложения со списком в виде таблицы.

Рис. 3.12. Пример работы с элементом ListView

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

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

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

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