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

Генерація випадкових чисел:

Класу Random в C#, являє собою генератор псевдовипадкових чисел - тобто даний клас, відповідає за видачу послідовності чисел, що відповідає певним статистичним критеріям випадковості.

Random rnd = new Random();

Тут ми оголосили екземпляр класу Random (rnd), за допомогою якого ми будем генерувати випадкові числа. Надалі ми будемо використати код, виду rnd.Next(діапазон_генерації); або rnd.Next(від,до); для генерації випадкового числа. Так само ми оголосимо ще декілька змінних, частина з яких відразу буде ініціалізована.

Point tmp_location; int _w = System.Windows.Forms.SystemInformation.PrimaryMonitorSize.Width; int _h = System.Windows.Forms.SystemInformation.PrimaryMonitorSize.Height;

tmp_location оголошується для того, що б у майбутньому тимчасово зберігати поточне положення вікна. Так само нам варто подумати про те, що при випадковому переміщенні, наше вікно може вийти далеко за межі екрана.

Щоб визначити роздільну здатність екрана в c# .Net ми будемо використовувати:

System.Windows.Forms.SystemInformation.PrimaryMonitorSize

_h й _w будуть зберігати в собі розміри екрана користувача, що визначається при їхній ініціалізації. Тепер код цієї функції буде виглядати в такий спосіб:

private void Form1_MouseMove(object sender, MouseEventArgs e) {

// переводимо координату X у рядок і записує в поля введення textBox1.Text = e.X.ToString(); // переводимо координату Y у рядок і записує в поля введення textBox2.Text = e.Y.ToString();

// якщо координата по осі X і по осі Y лежить в окреслює навколо кнопки "так, звичайно" квадраті if (e.X > 80 && e.X < 195 && e.Y > 100 && e.Y < 135) {

// запам'ятовуємо поточне положення вікна tmp_location = this.Location; // генеруємо переміщення по осях X й Y і додаємо їх до збереженого значення поточного положення вікна // числа генеруються в діапазоні від -100 до 100. tmp_location.X += rnd.Next(-100, 100); tmp_location.Y += rnd.Next(-100, 100); // якщо вікно вилізло за межі екрана по одній з осей if (tmp_location.X < 0 || tmp_location.X > (_w - this.Width / 2) || tmp_location.Y < 0 || tmp_location.Y > (_h - this.Height / 2)) {

// новими координатами стане центр вікна tmp_location.X = _w / 2; tmp_location.Y = _h / 2;

} // обновляємо положення вікна, на нове згенероване this.Location = tmp_location;

}

}

Відкомпілювавши додаток - можете спробувати натиснути на кнопку "Так, звичайно".

Створення другого віконного додатка в c#

Спочатку, створіть новий проект, указавши як шаблон Windows Form Application і назвіть second_application. Потім натисніть ок.

Додавання меню в додаток c# .Net .

Тут все просто, щоб додати меню в додаток, спочатку відкрийте вікно Toolbox (Панель елементів). Тут нам буде потрібно розворот Menus & Toolbars (Меню й панелі інструментів). У ньому нас цікавить елемент MenuStrip (Малюнок 1).

Малюнок 1.

Затисніть його лівою клавішею миші й перетягніть на форму. На нашій формі відобразиться елемент меню, як показано на малюнку 2.

Малюнок 2.

Тепер клацнувши на рядку «Введіть тут» ви можете ввести назву меню: назвемо його «File». При цьому додатися 2 додаткових елементи - один знизу, що буде доступний при відкритті меню, другий праворуч для створення нових розділів меню (малюнок 3).

Малюнок 3.

Дайте назву піделементу меню FileВихід”, як показано на малюнку 4. Після цього назвіть ще один розділ меню – «завантажити». У меню «завантажити» додайте піделемент “ завантажити зображення” і йому призначте в меню, що розкривається, 2 піделемента: «У форматі JPG» й «У форматі PNG». Виглядати меню буде в такий спосіб (малюнок 4):

Малюнок 4.

Тепер розглянемо те, як просто додати оброблювач події меню. Для цього перейдіть до меню “Вихід”. Тепер зробіть подвійний клік лівою клавішею миші – MS Visual Studio автоматично створить код функції оброблювача й настроїть подію обробки. Перед нами відкриється код функції оброблювача:

private void выйтиToolStripMenuItem_Click(object sender, EventArgs e) { }

Тому що цей елемент меню відповідає за вихід з додатка, додамо в нього код, що буде генерувати MessageBox з питанням про підтвердження виходу з додатка. Якщо користувач підтвердить вихід – додаток буде завершено. Новий код функції з коментарями:

private void выйтиToolStripMenuItem_Click(object sender, EventArgs e) {

// створюємо змінну rsl, що буде зберігати результат виводу вікна з питанням // (користувач нажало одну із клавіш на вікні - це і є результат) // MessageBox буде містити питання, а так само кнопки Yes No й іконку Question (Питання) DialogResult rsl = MessageBox.Show( "Ви дійсно хочете вийти з додатка?", "Увага!", MessageBoxButtons.YesNo, MessageBoxIcon.Question); // якщо користувач нажав кнопку так if (rsl == DialogResult.Yes) {

// виходимо з додатка Application.Exit();

}

}

Тепер можна відкомпілювати додаток і перевірити працездатність кнопки. Часто панель керування (Toolbar) дублює елементи меню, для швидкого до них доступу.

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