Читайте также:
|
|
pictureBox2.Image = new Bitmap(papka + "\\"
+listBox1.SelectedItem.ToString());
При выборе имени файла в списке соответствующее изображение теперь должно появиться в pictureBox2.
Попробуйте запустить программу. Обнаружатся три ошибки, имеющие одну и ту же причину: не объявлена переменная papka. По смыслу вставленного кода эта переменная содержит строковое значение - адрес папки с фотографими друзей. Надо её объявить.
Задание для самостоятельного выполнения
Объявите переменную papka так, чтобы она была доступна сразу двум обработчикам.
Запустите программу и убедитесь, что папка выбирается, и выбранный файл отображается в виде картинки в pictureBox2. Однако, зафиксировать выбор кнопкой «ПОДРУЖИТЬСЯ» пока невозможно. Требуется ещё одно окно - окно друга.
Интерфейс второго окна
Используя главное меню, добавим в программу новую форму Form2: Проект - Добавить форму Windows. Оформим это окно от лица друга (рис. 24).
Рис. 24. Второе окно
Надпись «Предложение» будет содержать сведения о том, что делает тот, кто пригласил - желание автора программы. Надпись «Моё мнение» должна содержать реакцию друга на желание автора. Объект pictureBox1 будет содержать фото друга, которое пользователь выбрал в первом окне. Кнопка имеет тот же смысл, что и в окне Form1.
Сценарий
Когда пользователь в первом окне выберет фото друга, он нажимает кнопку «ПОДРУЖИТЬСЯ». Должно отобразиться второе окно с фотографией друга.
Подключение второго окна
Окна Form1 и Form2 обслуживаются разными классами. Объекты классов (и окон) доступны только внутри своих классов. При запуске второго окна придётся картинку (ссылку на неё) записывать в свойство Image объекта pictuteBox1. Оператор будет находиться в обработчике кнопки «ПОДРУЖИТЬСЯ», а это Form1.
Задания для самостоятельного выполнения
1. В классе Form2 для обеспечения доступа к его полю pictureBoxl создайте открытое свойство, возвращающее ссылку на pictureBox1. Можно назвать это свойство, например, так: СсылкаНаФото.
2. В обработчик кнопки «ПОДРУЖИТЬСЯ» добавьте код, реализующий следующий алгоритм:
Если в pictureBox2 отображено фото (в Image имеется ненулевая ссылка на объект), то:
• создается объект F2 класса Form2 (переменную F2 надо объявить как поле класса Form1);
• у объекта F2 в pictureBox1 свойству SizeMode присваивается значение Zoom (полное изображение в объекте) из перечисления PictureBoxSizeMode (доступ к pictureBox1 - через свойство, созданное в пункте 1);
• у объекта F2 в pictureBox1 ссылка на картинку Image получает то же значение, что и в pictureBox2 в окне Form1;
• объекты listBox1, pictureBox2 и обе кнопки делаются невидимыми (после выбора фото друга их можно скрыть);
• текст в поле набора в объекте comboBox1 стирается (формируется пустая строка);
• созданный объект F2 показывается на экране.
После выполнения заданий запустите программу и выберите друга. Должно получиться примерно так (рис. 25). Теперь, когда есть возможность «открыть» друга, доработаем первое окно.
Рис. 25. Окно друга
Дата добавления: 2015-08-09; просмотров: 354 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Интерфейс первого окна | | | Задание для самостоятельного выполнения |