Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU_Prakticheskie_raboty_OPI.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.91 Mб
Скачать

Создание и запуск проекта.

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

Еще одна новинка C#, встречающаяся в начальном проекте, это атрибут [STAThread], предшествующий описанию процедуры Main. Так же, как и тэги документирования, атрибуты распознаются специальным инструментарием и становятся частью метаданных. Атрибуты могут быть как стандартными, так и заданными пользователем. Стандартные атрибуты используются CLR и влияют на то, как она будет выполнять проект. В данном случае атрибут [STAThread] (Single Thread Apartment) задает однопоточную модель выполнения. Об атрибутах и метаданных мы еще будем говорить подробно. При нечетком представлении о смысле однопоточной модели, и не желании использовать непонятные указания, - атрибут можно удалить из текста, что не отразится на выполнении.

Проект можно скомпилировать, выбрав соответствующий пункт из меню build. Если компиляция прошла без ошибок, то в результате будет построена сборка и появится PE-файл в соответствующей папке Debug нашего проекта. Приложение можно запустить на выполнение нажатием соответствующих клавиш (например, CTRL+F5) или выбором соответствующего пункта из меню Debug. Приложение будет выполнено под управлением CLR. В результате выполнения появится консольное окно с предложением нажать любую клавишу для закрытия окна.

Итоги

Инфраструктура .NET Framework поддерживает разработку и исполнение различных приложений. .NET Framework ставит своей целью решение следующих задач:

  • Предоставление объектно-ориентированной среды программирования;

  • Предоставление среды исполнения, решающей проблемы конфликта версий;

  • Предоставление среды безопасного исполнения кода (безопасность типов и другие особенности управляемого кода);

  • Предоставление среды исполнения, улучшающей производительность за счёт управления памятью и кэширования результатов компиляции;

  • Улучшение интеграции и переносимости приложений за счёт использования общего промежуточного языка и библиотеки типов.

.NET Framework состоит из двух основных компонент:

  • общеязыковая исполняющая среда (CLR),

  • библиотека классов .NET Framework.

Практична робота № 2 Введення в Windows Forms

Цель: овладеть возможностями использования инструментальных средств программной среды Microsoft Visual C# 2005 Express Edition для проектирования Windows приложений. Научиться создавать и работать с делегатами.

Ход работы (первой части лабораторного занятия).

  1. Обзор инструментальных средств программной среды Microsoft Visual C# 2005 Express Edition для проектирования Windows приложений.

  2. Создать Windows Application с именем Programm1

  3. В окне Properties для Form1 свойству File Name назначить TestForm.cs

  4. На форме разместить Label, TextBox с панели инструментов ToolBox; Button создать в конструкторе формы программно, для этого:

4.1. ПКМ на форме → View Code → скопировать в конструктор формы код:

Button myBtn = new Button();

myBtn.Text = "Вызов второй формы";

myBtn.Size = new Size(135, 23);

myBtn.Location = new Point(12, 238);

this.Controls.Add(myBtn);

4.2. сгенерировать событие onClick() этой кнопки: написать myBtn.Click += → нажать два раза Tab →появится код myBtn.Click += new ventHandler(myBtn_Click); и шаблон события:

void myBtn_Click(object sender, EventArgs e)

{

throw new Exception("The method or operation is not implemented.");

}

5. Создать вторую форму с именем Form2 и реализовать ее вызов нажатием на кнопку myBtn, для этого:

5.1. ПКМ по проекту в Solution Explorer → ADD → Windows Forms;

5.2. в метод myBtn_Click скопировать следующий код, что реализует пример SDI:

Form2 f = new Form2();

f.StartPosition = FormStartPosition.CenterScreen;

f.ShowDialog();

  1. Сменить последовательность загрузки форм, протестировать и вернуть последовательность на первоначальную.

  2. Исследование жизненного цикла формы. Для этого:

    1. создать переменную int x = 0;

    2. последовательно реализовать методы, в которых переопределить значение этой переменной и вывести в TextBox на форме:

    1. Form_Load ()

    2. button1_Click

    3. Form_Deactivate

    4. Form_Аctivate

  1. Работа с делегатами самостоятельно.

8.1. рассмотреть

8.2. В обработчиках событий Load, Closed, Activated и Deactivate в строковую переменную string (с именем lifeTimeInfo) добавляется имя перехваченного события. Обработчик события Closed отображает значение этой строки в окне сообщения:

8.3. В обработчике события Closing задается вопрос о том, действительно ли пользователь желает завершить работу приложения. При этом используется поступающий на вход объект CanselEventArgs.

  1. Создание MDI приложения (MDIapp):

9.1. создать приложение и две формы Form1 и Form2.

9.2. Form1 представляет собой родительскую форму MDI, для этого в конструкторе допишем:

//сделаем текущую форму родительской

this.IsMdiContainer = true;

//создаем экземпляр дочерней формы

Form2 f = new Form2();

//передаем ссылку на дочернюю форму, которую показываем

this.ShowMdiChild(f);

9.3. Сгенерируем метод создания дочерней формы, т.е ПКМ на ShowMdiChild → Generate Method Stub, который примет вид:

private void ShowMdiChild(Form childForm)

{

childForm.MdiParent = this;

childForm.Show();

}

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