НОУ ІНТУЇТ | лекція | Інтерфейс Windows Forms для C #

  1. Створення заготовки додатки
  2. Установка пароля на головне вікно програми

Анотація: У даній лабораторній роботі розглядаються деякі воможность інтегрованого середовища розробки програмного забезпечення (IDE - Integrated Development Environment) Visual Studio.NET 2005. Установка пароля на головне вікно програми. Додавання списку для запуску вправ. Смайли. Короткий опис частини компонентів панелі Toolbox. Простий калькулятор. Застосування колекцій для запобігання повторних запусків форми. Вбудовування COM-об'єкта "Windows Media Player" в свій додаток. Додавання до форми інших елементів управління.

Файли до лабораторної роботи Ви можете завантажити Файли до лабораторної роботи Ви можете завантажити   тут тут .

У даній лабораторній роботі ми розглянемо деякі можливості інтегрованого середовища розробки програмного забезпечення (IDE - Integrated Development Environment) Visual Studio.NET 2005. Ми будемо використовувати розроблений корпорацією Microsoft найкрасивіший і сучасну мову програмування C # (Сі -шарп). Ми будемо спиратися на потужну бібліотеку класів .NET Framework (FCL - Framework Class Library, вона ж BCL - Basic Class Library).

Створення заготовки додатки

Після клацання на кнопці OK майстер створить заготівлю додатки і виведе в режимі дизайну порожню форму, яка при запуску програми буде представляти вікно. Стандартний розмір згенерованої форми дорівнює 300x300. Зробимо цю форму стартовою і розмістимо на ній елементи управління для виклику дочірніх форм, що реалізують окремі вправи даної роботи.

private void InitializeComponent () {this.components = new System.ComponentModel.Container (); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Text = "Lab38 - Снетков"; } Лістинг 25.1. Заміна коду установки заголовка вікна в режимі виконання

Установка пароля на головне вікно програми

Тепер давайте додамо до головної формі Start код підтримки пароля під час запуску програми. Для цього нам буде потрібно діалогове вікно з текстовим полем. Сконструюємо його. Створення діалогового вікна буде складатися з трьох кроків:

  1. Створення самої форми діалогового вікна (клас InputPassword)
  2. Розміщення на формі інтерфейсних елементів користувача
  3. Створення коду, керуючого діалоговим вікном
Таблиця властивостей форми InputPassword

Властивість Значення Пояснення StartPosition CenterScreen Відкривати в центрі екрану FormBorderStyle FixedDialog Заборонити користувачеві змінювати розмір MaximizeBox false Відключити системну кнопку розгортання MinimizeBox falseStandardDialogs Відключити системну кнопку згортання ShowInTaskbar false Заборонити поява в панелі завдань AutoSize true Підлаштовуватися під вміст AutoSizeMode GrowAndShrink Підлаштовуватися під вміст (розширюватися і стискатися) Text Пусто Заголовок вікна Таблиця властивостей компонувальною панелі FlowLayoutPanel Властивість значення Пояснення Name flow Ім'я компонувальною п Анелі AutoSize true Підлаштовуватися під вміст FlowDirection TopDown Розміщувати зверху вниз WrapContents false Чи не переносити дочірні елементи в наступний стовпець Padding .All 8 Внутрішній відступ дочірніх елементів по периметру вікна Dock Fill Розкрити на всю клієнтську область батька (форми)

Ця панель буде автоматично стежити за розміщенням своїх дочірніх елементів відповідно до настройками.

Таблиця властивостей текстової мітки Label

Властивість Значення Пояснення Name lblMessage Ім'я текстової мітки AutoSize true Підлаштовуватися під вміст Anchor None Розташувати посередині Margin .All 8 Відступ по зовнішньому периметру текстової мітки Таблиця властивостей поля введення TextBox Властивість Значення Пояснення Name txtInput Ім'я текстової мітки Anchor None Розташувати посередині Margin .All 8 Відступ по зовнішньому периметру текстової мітки PasswordChar * Ехо введення в текстовому полі Таблиця властивостей кнопки Button Властивість значення Пояснення Name btnOk Ім'я кнопки AutoSize true Підлаштовуватися під вміст Anchor None Рас покласти посередині Margin .All 8 Відступ по зовнішньому периметру кнопки Text OK Напис DialogResult OK Призначити статус "кнопки OK" в батьківській формі

Властивості дочірніх кнопок форми DialogResult можна привласнити будь-яке значення з перерахування System.Windows.Forms.DialogResult (Abort, Cancel, Ignore, No, None, OK, Retry, 25_73). Воно і буде повернуто функцією ShowDialog () форми, якщо користувач вибере саме цю кнопку. Якщо властивості DialogResult кнопки буде присвоєно статус, відмінний від None, то при натисканні користувача на такий кнопці форма буде автоматично закриватися.

Ми створили сам призначений для користувача інтерфейс класу InputPassword діалогового вікна. Тепер потрібно налаштувати клас InputPassword, додавши туди метод створення діалогового вікна і виклику його на екран.

using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; namespace WinFormsApp {public partial class InputPassword: Form {public InputPassword () {InitializeComponent (); } Public InputPassword (string windowTitle, string message) {InitializeComponent (); this.Text = windowTitle; lblMessage.Text = message; } Public static string Show (string windowTitle, string message) {using (InputPassword inputDlg = new InputPassword (windowTitle, message)) {inputDlg.ShowDialog (); return inputDlg.txtInput.Text; }}}} Лістинг 25.2. Клас діалогового вікна InputPassword в файлі InputPassword.cs

Ми створили параметризрвані конструктор для введення заголовків діалогового вікна в момент його створення. Ми додали статичний метод створення діалогового вікна, який повертає значення текстового поля після клацання користувачем на кнопці, і такий метод потрібно викликати по імені класу. Упаковка створення екземпляра форми в блок using дозволяє викликати збирач сміття відразу після виходу з цього блоку.

Тепер потрібно перевести виклик вікна запиту пароля в обробник події Load запуску форми.

private void Start_Load (object sender, System.EventArgs e) {string password = InputPassword.Show ( "Вікно аутентифікації користувача", "Просимо ввести Ваш пароль:"); if (password! = "root") // Поганий спосіб зберігання пароля {MessageBox.Show ( "Вибачте, але Ви не дозволено \ n" // Повідомлення + "користуватися цією суперпрограма !!!", "Неправильний пароль", // заголовок вікна MessageBoxButtons.OK, // Кнопка OK MessageBoxIcon.Stop); // Критична іконка this.Close (); }} Лістинг 25.3. Обробник події початкового завантаження головної форми Start додатки

При неправильному паролі з'являється просте діалогове вікно повідомлень

і додаток завершить свою роботу.

Дополнительная информация

rss
Карта