Бренд. Net. Visual Studio. Net открытая среда разработки. Каркас Framework. Net. Библиотека классов fcl статический компонент каркаса. Общеязыковая исполнительная среда clr динамический компонент каркаса



бет12/16
Дата06.01.2022
өлшемі279,5 Kb.
#14998
түріЛекция
1   ...   8   9   10   11   12   13   14   15   16
Байланысты:
Лекции 1-2 С#

Windows-проект


Проделаем аналогичную работу: построим Windows- проект, рассмотрим, как он выглядит по умолчанию, а затем дополним его до проектa "Приветствие". Повторяя уже описанные действия, в окне нового проектa (см. рис. 2.1) я выбрал тип проектa Windows Application, дав проектy имя WindowsHello.

Как и в консольном случае, по умолчанию строится решение, содержащее единственный проект, содержащий единственное пространство имен (все три конструкции имеют совпадающие имена). В пространство имен вложен единственный класс Form1, но это уже далеко не столь простой класс, как ранее. Вначале приведу его код, а потом уже дам необходимые пояснения:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

namespace WindowsHello

{

///



/// Summary description for 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



InitializeComponent();

// TODO: Add any constructor code after

// InitializeComponent call

}

///



/// 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()

{

this.components = new



System.ComponentModel.Container();

this.Size = new System.Drawing.Size(300,300);

this.Text = "Form1";

}

#endregion



///

/// The main entry point for the application.

///

[STAThread]

static void Main()

{

Application.Run(new Form1());



}

}

}



Начну с того, что теперь пространству имен предшествует 6 предложений using; это означает, что используются не менее 6-ти классов, находящихся в разных пространствах имен библиотеки FCL. Одним из таких используемых классов является класс Form из глубоко вложенного пространства имен System.Windows.Forms. Построенный по умолчанию класс Form1 является наследником класса Form и автоматически наследует его функциональность - свойства, методы, события. При создании объекта этого класса, характеризующего форму, одновременно Visual Studio создает визуальный образ объекта - окно, которое можно заселять элементами управления. В режиме проектирования эти операции можно выполнять вручную, при этом автоматически происходит изменение программного кода класса. Появление в проектe формы, открывающейся по умолчанию при запуске проектa, означает переход к визуальному, управляемому событиями программированию. Сегодня такой стиль является общепризнанным, а стиль консольного приложения следует считать анахронизмом, правда, весьма полезным при изучении свойств языка.

В класс Form1 встроено закрытое ( private ) свойство - объект components класса Container. В классе есть конструктор, вызывающий закрытый метод класса InitializeComponent. В классе есть деструктор, освобождающий занятые ресурсы, которые могут появляться при добавлении элементов в контейнер components. Наконец, в классе есть точка входа - процедура Main с непустым телом.




Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет