Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_4_C#.doc
Скачиваний:
37
Добавлен:
12.02.2016
Размер:
1.07 Mб
Скачать

Додавання й виклик додаткового діалогового вікна.

Для цього перейдіть до вікна Solution Explorer (Оглядач рішень), після чого клацніть на назві проекту правою кнопкою миші й у контекстному меню, що відкрилося, виберіть Add->Form, як показано на малюнку 18.

Малюнок 18.

У вікні, що відкрилося, введіть назви класу, що буде відповідати за генерацію нашого допоміжного вікна - Preview.cs (малюнок 19)

Малюнок 19.

Тепер змініть розмір вікна так, як показано на малюнку 20. Потім на формі розмістіть елемент panel. Усередині елемента panel розмістіть елемент pictureBox, як показано на малюнку 20.

Малюнок 20.

Дане вікно буде отримувати при завантаженні як параметр посилання на наше завантажене зображення. Потім воно буде встановлювати границі елемента pictureBox, рівними розмірам отриманого зображення, після чого встановлювати його в елемент pictureBox.

Перейдіть до властивостей елемента panel й встановіть значення параметра AutoScroll рівне true. Тепер, у тому випадку, якщо розмір зображення буде перевищувати розмір елемента panel1, будуть з'являтися вертикальна й горизонтальна смуга прокручування, за допомогою яких можна буде переглянути зображення. Тепер розглянемо вихідний код, необхідний для реалізації даних можливостей.

Спочатку призначимо оброблювач кнопки із зображенням стрілки спрямованої вправо на нашому головному вікні. Клацніть по ній двічі, після чого ви перейдете до редагування коду функції, що буде викликана при кліку по даній кнопці. Він буде виглядати в такий спосіб:

// кнопка активації додаткового діалогового вікна private void toolStripButton1_Click(object sender, EventArgs e) {

// створюємо новий екземпляр класу Preview, // відповідального за роботу з нашою додатковою формою // як параметр ми передаємо наше завантажене зображення Form PreView = new Preview(MemForImage); // потім ми викликаємо діалогове вікно PreView.ShowDialog();

}

Як видно з вихідного коду, клас Preview одержує як параметр наше завантажене зображення. Для правильної роботи програми, ми повинні змінити конструктор класу Preview, а також реалізувати іншу функціональність програми. Перейдіть до вікна Preview, після чого зробіть подвійний клік лівою клавішею миші на ньому (НЕ на розміщені на ньому об'єктах). Відкриється для редагування функція:

private void Preview_Load(object sender, EventArgs e)

Але ми, спочатку, змінимо код конструктора класу, тепер він буде виглядати в такий спосіб:

public partial class Preview : Form {

// об'єкт Image для зберігання зображення Image ToView; // модифікуємо коструктор вікна таким чином, щоб він одержував // як параметр зображення для відображення public Preview(Image view) {

// одержуємо зображення ToView = view; InitializeComponent();

}

Тепер відредагуємо код функції Preview_Load. Він буде виглядати в такий спосіб

// ця функція виконається при завантаженні вікна private void Preview_Load(object sender, EventArgs e) {

// якщо об'єкт, що зберігає зображення не дорівнює null if (ToView != null) {

// встановлюємо нові розміри елемента pictureBox1, // рівні ширині (ToView.Width) і висоті (ToView.Height) зображення, що завантажує. pictureBox1.Size = new Size(ToView.Width, ToView.Height); // встановлюємо зображення для відображення в елементі pictureBox1 pictureBox1.Image = ToView;

}

}

Самостійно додайте оброблювач надання кнопки закрити. Функція закриття буде виглядати наступним чином:

// оброблювач кнопки закрити private void button1_Click(object sender, EventArgs e) {

// закриваємо діалогове вікно Close();

}

Тепер, якщо буде завантажене велике зображення, його відображення в додатковому вікні буде забезпечено смугами прокручування (малюнок 21).

Малюнок 21.

Відкомпілюйте додаток (F5) щоб перевірити його.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]