Цель работы: Изучить основные элементы среды разработки Visual Studio Integrated Development Environment ( IDE - интегрированная среда разработки) C# при создании на языке C# приложений с графически интерфейсом.
Среда разработки Visual Studio Integrated Development Environment (IDE) - интегрированная среда разработки) включает набор инструментов и не зависит от используемых языков программирования, представленных в Visual Studio. Visual Studio можно использовать для создания кода и на различных языках программирования: управляемый C++ - Manadged C++, Visual Basic.NET, Java.NET, C#.
В лабораторной работе проводится изучении среды разработки на языке программирования C# и следующих средств проектирования Windows - приложений:
основные окна среды разработки C#;
Для начала работы с Visual Studio.NET необходимо из главного меню выбрать пункт "Microsoft Visual Studio.NET" (VS). При этом на компьютере загрузится Developer Studio (визуальная среда разработки Microsoft Visual ) на экране компьютера будет выведено окно, изображенное на рисунке 1.1.
В качестве приложения разработаем простое приложение, пользовательский интерфейс которого будет содержать только главное окно. Для этого необходимо выполнить следующие шаги:
(рис 1.1) Стартовое диалоговое окно IDEВ VS каждому разрабатываемому приложению нужна рабочая среда. Рабочая среда проекта состоит из папок, в которых хранятся файлы исходного кода, а также из папок, в которых хранятся различные конфигурационные файлы. Создание рабочей среды нового проекта производится следующим образом:
Project_К4И_01 (имя проекта присваивается в соответствии со следующим синтаксисом: Project_"номер группы"_"номер бригады в группе" ).При помощи дизайнера графических форм можно добавлять в приложение любые элементы управления и он будет автоматически генерировать код для этих элементов (по умолчанию файл с главной формой приложения называется Form1.cs ).
Для просмотра кода сгенерированного приложения можно в окне Solution Explorer щелкнуть правой кнопкой мыши на файле Form1.cs и в контекстном меню выбрать View Code (рисунок 1.4).
(рис 1.4) Выбор режима View Code в контекстном менюВ результате будет выведен на экран следующий листинг кода приложения
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Project_К4И_01
{
public partial class Form1 : Form
{
public Form1()
{ InitializeComponent(); }
}
}
Инициализация компонент реализуется кодом, который можно отобразить, в окне Solution Explorer щелкнуть на пункте Form.Designer.cs (рисунок 1.5).
(рис 1.5) Выбор режима Form.Designer.csnamespace Project_К4И_01
{
partial class Form1
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Form1";
}
#endregion
}
}
В определении класса Form1 используется ключевое слово partial, которое позволяет определять класс, структуру или интерфейс, распределенные по нескольким файлам. В Visual Studio 2005 классы Windows -форм формируются в двух файлах: Form1.cs и Form1.Designer.cs. В файле Form1.Designer.cs присутствует код, сгенерированный дизайнером Windows -формы, а файле Form1.cs - присутствует код инициализации класса и пользовательские члены класса (поля, свойства, методы, события, делегаты)
Код приложения (Program.cs) имеет следующий вид:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace Project_К4И_01
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Метод Main является точкой входа для приложения и вызывает Application.Run, который создает класс Form1.
Класс Application можно рассматривать как "класс низшего уровня", позволяющий нам управлять поведением приложения Windows Forms. Кроме того, этот класс определяет набор событий уровня всего приложения, например закрытие приложения или простой центрального процессора.
Наиболее важные методы этого класса (все они являются статическими) перечислены в таблице 1.1.
| Метод класса | Назначение Application |
|---|---|
| AddMessageFilter( ) | Эти методы позволяют приложению перехватывать сообщения RemoveMessageFilter( ) и выполнять с этими сообщениями необходимые предварительные действия. Для того чтобы добавить фильтр сообщений, необходимо указать класс, реализующий интерфейс IMessageFilter |
| DoEvents( ) | Обеспечивает способность приложения обрабатывать сообщения из очереди сообщений во время выполнения какой-либо длительной операции. Можно сказать, что DoEvents() - это "быстрый и грязный" заменитель нормальной многопоточности |
| Exit( ) | Завершает работу приложения |
| ExitThred( ) | Прекращает обработку сообщений для текущего потока и закрывает все окна, владельцем которых является этот поток |
| OLERequired( ) | Инициализирует библиотеки OLE. Можете считать этот метод эквивалентом .NET для вызываемого вручную метода Olelnitialize( ) |
| Run( ) | Запускает стандартный цикл работы с сообщениями для текущего потока |
Класс Application определяет множество статических свойств (таблице 1.2), большинство из которых доступны только для чтения.
| Свойство | Назначение |
|---|---|
| CommonAppDataRegistry | Возвращает параметр системного реестра, который хранит общую для всех пользователей информацию о приложении |
| CompanyName | Возвращает имя компании |
| CurrentCulture | Позволяет задать или получить информацию о естественном языке, для работы с которым предназначен текущий поток |
| CurrentlnputLanguage | Позволяет задать или получить информацию о естественном языке для ввода информации, получаемой текущим потоком |
| ProductName | Для получения имени программного продукта, которое ассоциировано с данным приложением |
| ProductVersion | Позволяет получить номер версии программного продукта |
| StartupPath | Позволяет определить имя выполняемого файла для работающего приложения и путь к нему в операционной системе |
Многие из этих свойств предназначены для получения общей информации о приложении, такой как название компании, номер версии и т.п.
Таким образом, при помощи многих свойств (например, CompanyName или ProductName ) можно очень просто получить метаданные уровня сборки. В сборке можно использовать любое количество встроенных и пользовательских атрибутов. В результате можно получить значение атрибута [assembly:AssemblyCompany(" ")] при помощи свойства Application.CompanyName без необходимости прибегать к использованию типов, определенных в пространстве имен System.Reflection.
Для разметки окон приложения в соответствии с требованиями пользователя необходимо изменить свойства класса Forms1. Это можно сделать с помощью дизайнера окон ( Form Designer ), путем изменения свойств в окне Свойства ( Properties ) или в коде программы.
Размеры окна можно изменить непосредственно в Form Designer с помощью мыши захватывая и, растягивая/сжимая границы окна.
Для изменения других свойств окна необходимо окно свойств Properties.
На вкладке Properties измените значение в поле Text (Заголовок) на Проект К4И. При этом на форме изменится заголовок окна (рисунок 1.6).
(рис 1.6) Изменение значения в поле Text на вкладке PropertiesОткомпилируйте приложение, выбрав из главного меню команду Build Project_К4И_01 (рисунок 1.7)
(рис 1.7) Выбор из главного меню команды BuildВ строке состояний должно появиться сообщение:
Build succeeded
Для запуска приложения выберите из главного меню команду Debug/Start (F5). Приложение запустится в отладочном режиме и на экране появится разработанное окно (рисунок 1.8.).

Для закрытия окна щелкните мышью на кнопке
(рис 1.8)
Добавим в главную форму элемент контроля - кнопку. Для этого откроем вкладку ToolBox (рисунок 1.9) и сначала щелкнем мышью на элементе Button вкладки, а затем щелкнем мышью на форме.
(рис 1.9) Вкладка ToolBoxВ результате получим форму с кнопкой (рисунок 1.10).
(рис 1.10) Форма с установленной кнопкойУстановите кнопку в требуемое место на форме с помощью мыши.
Для задания текста на кнопке выделите ее на форме и откройте вкладку Свойства и измените свойство Text на "Приветствие". В результате название кнопки изменится (рисунок 1.11).
(рис 1.11) Форма с измененным свойством Text кнопкиДля Click для кнопки.
private void button1_Click(object sender, EventArgs e)
{
}
В полученный шаблон добавим функцию вывода диалогового окна с сообщением.
private void button1_Click(object sender, EventArgs e)
{
// Сообщение
MessageBox.Show("Поздравляю с первым проектом на C#");
}
После компиляции и запуска приложения получим следующее окно приложения (рисунок 1.12), а при нажатии кнопки будет выведено сообщение (рисунок 1.13).

(рис 1.13) Результат выполнения приложения(рис 1.12) Вывод сообщенияРассмотрим код листинга функции:
private void button1_Click(object sender, EventArgs e)
{
// Сообщение
MessageBox.Show("Поздравляю с первым проектом на C#");
}
Первая строка является частью оболочки функции, сгенерированной Developer Studio на языке C#.
Первое слово в строке, private определяет видимость функции как внутреннюю, т.е. видимую только для членов класса Form1. Второе слово void, определяет тип данных возвращаемого значения (результата). Ключевое слово void, - перед именем функции, или в качестве аргумента функции (в скобках в конце строки), означает отсутствие соответствующего элемента. Третье слово в строке, button1_Click, обозначает имя функции. За именем функции следует список передаваемых ей аргументов, заключенный в круглые скобки. Круглые скобки нужно использовать всегда, даже когда у функции нет параметров.
Правило 1. В C# при вызове функции за ее именем должны стоять круглые скобки, даже если данной функции не передается ни один параметр.
В следующей строке листинга открывающая фигурная скобка ( { ) отмечает начало тела функции. В конце тела функции ставится закрывающая фигурная скобка ( } ).
Правило 2. Тело функции всегда заключается в фигурные скобки {}.
Следующая строка начинается с двух косых черт, или слешей ( // ). Все, что следует до конца строки после двух идущих подряд косых черт (без пробелов, табуляций и т.п. между ними) рассматривается компилятором как комментарий и игнорируется. Исключением являются строки, в которых косая черта является частью текстовой, или литерной строки (строки букв). Это один из способов комментирования кода. Второй способ чаще используется при добавлении в код нескольких строк комментариев. В этом случае начало комментария обозначается идущими подряд косой чертой и звездочкой ( /* ), а конец комментария завершается таким же набором символов, но переставленных в обратном порядке ( */ ).
Последняя строка в добавленном нами коде (в тексте это две строки):
MessageBox.Show("Поздравляю с первым проектом на C#");
Во-первых, C# чувствителен к регистру. В именах функций и переменных заглавные (прописные) буквы должны использоваться точно так же, как в их объявлениях. Это означает, что компилятор распознает следующие имена функций как имена трех различных функций:
MessageBox.Show messageBox.Show messagebox.Show
Правило 3. Язык C# чувствителен к регистру. При вводе программ, написанных на языке C#, учитывайте регистр. В частности, все идентификаторы вводите с учетом регистра.
За именем функции следуют аргументы функции, заключенные в круглые скобки, а после скобок стоит точка с запятой. Аргументы разделяются запятыми.
BackColor ).Exit( ) класса Application.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.