Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет: Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.
Как активировать код? |
Класс Control и стандартные элементы управления (обзор)
Контейнер изображений ImageList
Многие классы не являются элементами управления как таковыми, а предназначены для хранения множества объектов и управления ими. Такие классы представляют собой контейнеры объектов и являются специализированными массивами.
ImageList - это набор объектов Image, включающий в себя растровые рисунки и и метафайлы (Иконки) одного размера и глубины цвета. Основным свойством ImageList является объект Images типа ImageList.ImageCollection, который имеет ряд методов, в том числе Add() для добавления рисунков в коллекцию.
Пусть в текущем с приложением каталоге имеются два растровых изображения MyPicture1.bmp и MyPicture2.bmp, которые нужно упаковать в контейнер. Фрагмент кода программы может выглядеть так
using System.Windows.Forms; ... // Создаем пустую коллекцию рисунков ImageList imglst = new ImageList(); // Наполняем коллекцию рисунками Bitmap bmp = new Bitmap("MyPicture1.bmp");// Загрузили первый рисунок imglst.Images.Add("key1", bmp); // Пометили и отдали в коллекцию bmp = new Bitmap("MyPicture2.bmp");// Загрузили второй рисунок imglst.Images.Add("key2", bmp); // Пометили и отдали в коллекцию ... // Где-то в программе используем рисунки, сохраненные в коллекции Bitmap bmp1, bmp2; bmp1 = (Bitmap)imglst.Images[0]; // Извлекли по индексу bmp2 = (Bitmap)imglst.Images["key2"];// Извлекли по ключуЛистинг 13.5 .
using System; using System.Drawing; using System.Windows.Forms; class MyClass : Form { ImageList imageList; public MyClass() { this.Icon = new Icon("1.ICO"); this.Text = "Графическое окно"; imageList = new ImageList(); imageList.Images.Add("bmp", Image.FromFile("Photo.bmp")); imageList.Images.Add("jpg", Image.FromFile("Photo.jpg")); imageList.Images.Add("png", Image.FromFile("Photo.png")); int width = 250; imageList.ImageSize = new Size(width, width / 4 * 3); this.Click += new EventHandler(MyClass_Click); } void MyClass_Click(object sender, EventArgs e) { // Получаем указатель на холст формы Graphics graphics = Graphics.FromHwnd(this.Handle); // Цикл для листания рисунков for (int count = 0; count < imageList.Images.Count; count++) { // Рисуем изображение на холсте формы imageList.Draw(graphics, new Point(0, 0), count); // Инициируем перерисовку формы (одно из предложенных) Application.DoEvents(); //this.Invalidate(); // Усыпляем поток на две секунды System.Threading.Thread.Sleep(2000); } } }Листинг 13.6 .
Контейнер всплывающих подсказок ToolTip
Класс ToolTip не является элементом управления, но тесно взаимодействует с ними. Он хранит всплывающие подсказки для элементов управления, которые обычно появляются, когда на элемент управления наводится курсор мыши.
Сначала в конструкторе формы нужно создать экземпляр класса ToolTip, затем каждому (если нужно) элементу управления привязать всплывающую подсказку с помощью экземплярного метода ToolTip.SetToolTip().
// Создаем элементы управления Button btn1 = new Button(); Button btn2 = new Button(); CheckBox check1 = new CheckBox(); CheckBox check2 = new CheckBox(); TextBox txt = new TextBox(); // Настраиваем элементы управления btn1.Location = new Point(5, 50); btn2.Location = new Point(20, 50); check1.Text = "Флажок 1"; //.......................... // Создаем экземпляр контейнера ToolTip ToolTip tips = new ToolTip(); // Привязываем посказки к одному // или нескольким элементам управления tips.SetToolTip(btn1, "Это кнопка OK"); tips.SetToolTip(btn2, "Это кнопка Cancel"); tips.SetToolTip(check1, "Это флажок 1"); tips.SetToolTip(check2, "Это флажок 2"); tips.SetToolTip(txt, "Это текстовое поле"); //...........................Листинг 13.7.
В классе ToolTip имеется несколько свойств, настраивающих контейнер всплывающих подсказок. Вот некоторые из них
- Active - устанавливает или получает булево значение текущей активности подсказки (включает/отключает подсказку)
- AutomaticDelay - устанавливает или получает время (в миллисекундах), которое подсказка при появлении держится на экране
- InitialDelay - устанавливает или получает время (в миллисекундах), в течение которого курсор должен находиться над элементом управления, чтобы подсказка появилась
- AutoPopDelay - если в течение этого времени курсор задержится на элементе управления, то подсказка для этого элемента больше появляться не будет
- ReshowDelay - устанавливает или получает отрезок времени, который должен пройти, чтобы новая подсказка могла активизироваться при перемещении курсора с одного элемента управления на другой