Глава 3. Визуальный интерфейс
Теоретических данных у нас достаточно, теперь перейдём к знакомству с построением визуального интерфейса и начнем писать более интересные примеры. Все примеры, которые мы рассматривали ранее, производили вывод данных в консоль, но процент консольных приложений из общего числа не превышает 1%. Большинство разрабатываемых программ должны иметь графический интерфейс и окна для ввода/отображения данных.
Большинство мануалов начинает описывать язык с консольных приложений, но это ошибка. Рассматривать консольные окна скучно. К тому же, наверно 90% программного обеспечения имеет визуальный интерфейс, и не лучше ли было бы сразу начать с описания того, как создаются окна, а потом уже будем углубляться далее.
Давайте вспомним пример с визуальным окном, созданный из раздела 1.2 и подробно рассмотрим, как он устроен: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data;
namespace WindowsApplication1
{
/// Summary description for Form1.
/// Короткое описание для Form1.
public class Form1 : System.Windows.Forms.Form
{
/// Required designer variable.
/// Требуемые дизайнеру переменные
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
// Требуется для поддержки дизайнера Windows форм
//
InitializeComponent();
//
// TODO: Add any constructor code after
// InitializeComponent call
// Добавляйте код конструктора после
// вызова InitializeComponent
//
}
/// Clean up any resources being used.
/// Используется для очистки любых ресурсов
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
} }
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// Required method for Designer support - do not modify /// the contents of this method with the code editor.
/// Метод требуется для поддержки дизайнера – не изменяйте /// содержимое этого метода в редакторе кода
private void InitializeComponent()
{
//
// Form1 //
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);
}
#endregion
/// The main entry point for the application. /// Главная точка входа для приложения
/// </summary> [STAThread] static void Main()
{
Application.Run(new Form1());
} private void Form1_Load(object sender, System.EventArgs e)
{
}
}
}
Если вы имеете опыт программирования на таких языках как Java, C++ или Delphi, то наверно уже увидели некоторую аналогию с ними. На мой взгляд, C# - это сборная солянка из всего того, что уже существовало. Он вобрал в себя все лучшее, что есть у других, хотя и не стал идеальным, и в этом вы убедитесь, когда начнете писать более сложные проекты. И все же, это удобный и красивый язык.
Все комментарии на английском, которые указаны в этом листинге были сгенерированы для удобства средой разработки. Комментарии на русском – это мой вольный перевод того, что было сгенерировано.
Давайте рассмотрим, что у нас тут есть. Сначала, с помощью using подключается множество различных модулей, которые нам понадобятся. После этого, объявляем пространство имен WindowsApplication1:
namespace WindowsApplication1
С помощью метода using мы подключаем уже существующие в .NET пространства имен, а с помощью namespace мы объявляем пространство имен своего проекта. Пространства WindowsApplication1 нет в библиотеке .NET, поэтому оператор using тут не помощник, зато namespace позволяет объявлять свои пространства.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.