Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_po_programmirovaniyu_voprosy_21-40.docx
Скачиваний:
5
Добавлен:
25.09.2019
Размер:
90.14 Кб
Скачать

33. Архитектура приложений Windows Forms

Большая часть средств, необходимых для создания приложений windows forms находится в пространстве имен System.Windows.Forms.

Каждое приложение Windows Forms представляет собой класс, который является производным от System.Windows.Forms.Form. Поэтому самое простое приложение будет выглядеть так:

using System;

using System.Windows.Forms;

namespace WindowsApplication4

{

public class Form1 : System.Windows.Forms.Form

{

public Form1() {}

static void Main()

{

Form1 MyForm=new Form1();

}

}

}

Каждое приложение Windows Forms обязано иметь точку входа, с которой начинается исполнение программы. Точка входа определяется реализацией метода Main(). Приведенная в примере программа создаст объект типа Form1 и сразу же завершится. Однако необходимо, чтобы приложение участвовало в цикле сообщений от операционной системы.

Приложения Windows управляются событиями. Они не производят явных вызовов функций, а ожидают когда система передаст им входные значения в виде сообщений. Цикл сообщений является частью приложений windows. Чтобы обработать сообщения для формы, необходимо вызвать метод Run() класса Application.

using System;

using System.Windows.Forms;

namespace WindowsApplication4

{

public class Form1 : System.Windows.Forms.Form

{

public Form1(){}

static void Main()

{

Form1 MyForm=new Form1();

Application.Run(MyForm); //или Application.Run(new Form1());

}

}

}

Класс Application реализует методы для управления приложением и обработки сообщений Windows. Метод Application.Run() обрабатывает сообщения от операционной системы, предназначенные для приложения. Объект MyForm передается как параметр методу Run, после чего форма отображается на экране и ждет поступления событий (от мыши, клавиатуры, других приложений).

34. Стандартные элементы управления: текстовые поля, кнопки, переключатели.

Большинство приложений предоставляют возможность пользователю вводить текст и, в свою очередь, выводят различную информацию в виде текстовых записей. Элементы TextBox, RichTextBox принимают текст, а элементы Label, StatusBar выводят ее. Для обработки введенного пользователем текста, как правило, следует нажать на один или несколько элементов из группы командных объектов.

Наряду с надписями и полями редактирования текстовой информации кнопки встречаются чаще всего в пользовательском интерфейсе приложений.

Текст надписи, расположенной на кнопке, задается с помощью свойства Text. Приложение может динамически во время своей работы блокировать и разблокировать кнопки и элементы управления, расположенные в формах. Для того чтобы заблокировать кнопку, установите значение свойства Enabled равным true. Заблокированная кнопка отображается в форме, однако не реагирует на мышь и клавиатуру, а также не создает событий.

При необходимости приложение может скрыть кнопку или другой элемент управления, установив значение свойства Visible равным false. Скрытый элемент управления не отображается в форме и не создает событий.

Рассмотрим использование события buttonsEnter. Реализуем возможность, которая заключается в том, что при наведении курсора мыши на кнопку она будет менять свой цвет на красный. Для этого добавим на форму три кнопки. В класс Form1 добавим поле oldColor, предназначенное для хранения исходного цвета фона кнопки:

Color oldColor;

Добавим исходный текст обработчика событий buttonsEnter, подключенного ко всем кнопкам нашего приложения:

private void buttonsEnter(object sender, System.EventArgs e) {   Button btn = (Button)sender;   oldColor = btn.BackColor;   btn.BackColor = Color.Red; }

Переключатели с зависимой фиксацией (RadioButton). Такие флажки объединяются в группы, причем в отмеченном состоянии может находиться лишь один флажок из группы. Флажки с зависимой фиксацией создаются на базе класса System.Windows.Forms.RadioButton.

Переключатели с независимой фиксацией (CheckBox). Флажки с независимой фиксацией работают независимо друг от друга. При этом не имеет никакого значения, расположены они внутри панелей GroupBox и Panel, или непосредственно в окне приложения. Эти флажки создаются на базе класса System.Windows.Forms.CheckBox.

Как правило, флажки с независимой фиксацией используется в программе, для того чтобы задавать какие-либо режимы, которые можно устанавливать независимо друг от друга.

Такие флажки могут находиться во включенном или выключенном состоянии, а также в третьем, неопределенном состоянии.

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