Визуальный интерфейс. Программа с визуальным интерфейсом. Пример с визуальным окном, страница 2

Далее идет объявление класса: 

public class Form1 : System.Windows.Forms.Form

Мы объявляем публичный класс Form1, который является потомком от System.Windows.Forms.Form. Все визуальные формы будут происходить от этого класса, который обладает всей необходимой функциональностью. Мы только наследуем все эти возможности и добавляем свой функционал, т.е. возможности, которыми должна обладать именно наша программа и данное окно. 

Далее, немного пропустим код, потому что он нас пока не интересует и лишний раз забивать себе голову тем, что мы пока не будем использовать – не стоит. 

Конструктор Visual Studio сгенерировал нам помимо самого класса, ещё и конструктор: 

public Form1()

{

 InitializeComponent();

}

Конструктор автоматически вызывается сразу после создания экземпляра класса. В нем пока что у нас вызывается только метод InitializeComponent. Этот метод также сгенерирован и выглядит следующим образом:  private void InitializeComponent()

{

 this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);  this.ClientSize = new System.Drawing.Size(336, 222);  this.Name = "Form1";  this.Text = "Form1";

 this.Load += new System.EventHandler(this.Form1_Load);

}

В этом методе инициализируются свойства формы. Оператор this как раз указывает на текущую форму. Чтобы обратиться к свойству текущей формы пишем: 

This.Свойство

В первой строке определяем свойство текущей формы AutoScaleBaseSize. Значение этого свойства используется для по время отображения формы для определения коэффициента масштабирования для формы. Этот коэффициент используется формой как база для сопоставления с системными шрифтами. Это свойство имеет тип Size. Чтобы записать в этот тип значение, необходимо создать этот тип с помощью метода System.Drawing.Size. Этот метод вызывается в виде:  System.Drawing.Size(ширина, высота)

Следующее свойство, которое мы изменяем – ClientSize, т.е. размер формы. Это свойство также имеет тип Size. Вы можете изменить размеры формы визуально, а можно указать их явно в коде. При этом, если переключиться на визуальную форму, форма уже будет отображена с учетом указанных вами параметров. Попробуйте в коде указать размер окна в 500x400 следующим образом: 

this.ClientSize = new System.Drawing.Size(500, 400);

Переключитесь на визуальную форму и убедитесь, что новые размеры отображаются верно. 

Следующая строка кода изменяет имя формы (свойство Name). Тут ничего сложного нет, потому что это свойство имеет строковый тип:  this.Name = "Form1";

Свойство Text, которое изменяется в следующей строке, отвечает за заголовок окна. Это также строковый тип, поэтому изменить его не сложно:  this.Text = "Form1";

Вы можете изменять не только свойства, но события. Например, в последней строке изменяется событие Load: 

this.Load += new System.EventHandler(this.Form1_Load);

Что это значит? Таким методом устанавливаются обработчики события. В данном случае мы создаем обработчик на событие Load, которое генерируется при первом запуске приложения. Этот код генерируется автоматически, поэтому пока что мы опустим, что здесь происходит, а только посмотрим на метод, который будет вызываться в тот момент, когда сгенерируется событие Load:

private void Form1_Load(object sender, System.EventArgs e)

{

}

Этот метод также был сгенерирован автоматически. В качестве параметров он принимает два параметра: 

‰  sender – этот параметр получают все обработчики и здесь можно увидеть указатель на объект, который сгенерировал событие; 

‰  System.EventArgs – класс, который содержит данные события. 

Конструктор Visual Studio сгенерировал ещё один метод – Main, с которого и начинается выполнение приложения:  static void Main() 

{

 Application.Run(new Form1());

}

Здесь выполняется метод Run объекта Application. Этот метод запускает на выполнение указанную форму. В нашем случае запускается форма с именем Form1. Для этого, необходимо ещё создать форму, поэтому в качестве параметра передаем новый экземпляр формы, который создается оператором new: 

new Form1()

После оператора New указывается конструктор, который инициализирует класс.