Главная » C# » Создание приложения Windows в Visual C#(Sharp)

0

Для создания приложения Windows выполните такую последовательность действий:

1. Выполните последовательность команд меню File | New Project.

2. В диалоговом  окне New  Project выберите пиктограмму Windows Application.

Она представляет тип проекта на основе предопределенного шаблона, называого Windows Application.

3. Измените название по умолчанию проекта на Examplei.

4. Нажмите кнопку ОК.

Рис. 1.2. Интегрированная среда разработки Visual С# Express с проектом и решением Examplei

Исполнение этих шагов одновременно создает новый проект и решение с  назвиями Examplei соответственно. В результате будут созданы готовый проект и рение (рис. 1.2).

Просмотр исходного кода

При создании нового приложения Visual С# Express автоматически генерирует для него определенный исходный код. Этот исходный код можно просмотреть, выпоив двойной  щелчок  мышью  по элементу Program.cs в панели Solution Explorer. В результате в левой, большей, панели среды вид формы будет заменен видом кода (рис. 1.3).

ПРИМЕЧАНИЕ

Чтоб ы переключаться между видом  форм ы  и  видом  кода,  щелкните  правой  кнопкой мыш и  по  элементу  Form1.cs  в  панели  Solutio n  Explorer .  Появится  контекстное  меню, в  котором  будут  команды  Vie w  Cod e  (Вид  кода)  и  Vie w  Designe r (Вид формы).

Рис.  1.3.  Исходный  код в только что созданном проекте С#

Помеченные элементы на рис 1.3 представляют суть исходного кода С#, который мы будем писать.  Мы  будем  изучать  эти  элементы  на  протяжении  всей  книги. На данный же момент ограничимся дополнительной информацией о двух из поканных на рис. 1.3 элементах исходного кода:

•   класс— организационная единица, которая группирует связанный код. Эта группировка намного специфичнее, чем решение или проект. Применяя аналию с автомобилем снова, если проект является двигателем, тогда класс можно рассматривать как один из компонентов двигателя, например карбюратор. Ини словами, проекты состоят из множества классов;

•   метод — набор инструкций для выполнения определенного задания. Метод яяется аналогом функции во многих других языках программирования. Метод Main () исполняется при запуске приложения; поэтому он содержит код,  котый должен исполняться в начале программы.

Переименование решения

При создании решения Visual С# Express  автоматически  присвоил  одно  и  то  же имя — Examplei — как проекту, так и решению, что не всегда является желателым. Но это не является проблемой, т. к. решению можно с легкостью присвоить другое имя. Для этого нужно выполнить такую последовательность шагов:

1. Щелкните правой кнопкой мыши по имени решения в Solution Explorer и в орывшемся контекстном меню выберите пункт Rename.

2. Теперь имя решения можно редактировать. Измените его на ThreeExamples.

3. Нажмите клавишу <Enter>, чтобы применить изменение.

Таким  же образом  можно  переименовывать  проекты  или любой другой элемент, отображаемый в Solution Explorer.

Сохранение решения

После переименования  решения  хорошей  идеей будет сохранить  внесенные  измения. Чтобы сохранить проект, выполните такую последовательность действий:

1. Выделите имя решения в Solution Explorer.

2. Выберите команды File | Save ThreeExamples.sln.

3. Обратите внимание на то, что Visual С# Express хочет сохранить  решение  под его старым именем Examplei, а не новым именем ThreeExamples. Чтобы сохрить новое имя решения на жесткий диск, необходимо снова изменить Examplei на ThreeExamples. Запомните путь, по которому Visual С# Express  сохраняет ваши проекты, т. к. вам время от времени может понадобиться эта информация.

4.  Нажмите кнопку Save.

При успешном сохранении решения и проекта в строке состояния в левом нижнем углу окна выводится сообщение "Item(s) Saved".

В  будущем  решение  и  проект можно сохранять  с  помощью  комбинации  клавиш

<Ctrl>+<S>.

ПРИМЕЧАНИЕ

Если  при  выходе из Visual С# Express имеются  несохраненные  изменения,  то система выведет диалоговое окно с запросом,  следует ли сохранить решение и  проект.

Ранее сохраненное решение можно открыть, выполнив последовательность команд меню File | Open  Project  и  указав  путь  к  файлу  решения.  Решение  можно  тае открыть,  выбрав его  в  панели Recent Projects  при запуске Visual С# Express.

Панель Recent Projects также всегда присутствует на вкладке Start Page главного окна Visual С# Express.

Выполнение приложения Windows

Исходный код, сгенерированный Visual С# Express, представляет  базовое приление, содержащее пустое окно. Этот исходный код предоставляет отправной пункт, в котором можно добавлять дополнительный исходный код, отлаживать имеющийся исходный код и исполнять приложение.

Для исполнения приложения выполните последовательность команд меню Debug | Start  Without  Debugging.  Приложение  также  можно  запустить  на  исполнение с помощью комбинации клавиш <Ctrl>+<F5>. Работающее приложение в своем текем виде выведет на* экран пустое окно (рис. 1.4). Это окно имеет точно такие лее свотва, как и главное окно любого другого приложения. В частности, чтобы его закрыть и остановить приложение, нужно нажать стандартную кнопку закрытия окна.

Рис. 1.4. Исполняющееся приложение

Исполнение приложения позволяет увидеть, что оно делает. Запуск приложения на исполнение из среды разработки идентично запуску на исполнение любым другим способом, например двойным щелчком по его пиктограмме. В данном примере, приложение Examplei выводит пустое окно, имеющее минимальную функциональ-

ность и базовый набор элементов управления. На данном этапе вся функционалость, предоставляемая исходным кодом, состоит в выводе пустого окна, которое имеет только кнопки для его сворачивания, восстановления и закрытия.

Таким образом, не написав ни единой строчки кода, вы получили исполняемое прожение. Это оказалось возможным благодаря тому, что Visual С# генерирует шаблонный код для каждого приложения, который сразу же можно исполнять.

Таким образом, вы уже создали приложение, просмотрели его исходный код и иолнили его. Все эти действия осуществлялись в контексте удобной, выполняющей все ваши требования среды разработки Visual С# Express. Visual С# Express — оовременно и хорошая, и плохая вещь по одной и той же  причине:  она скрывает все запутанные подробности. Представьте себе, что вы автомобильный механик и вам нужно починить автомобиль.  В современных автомобилях проблемы указывтся с помощью индикаторов на панели. Этого достаточно для водителя,  чтобы знать, что машину нужно починить. Но для этого он пригласит механика, а для маника одних индикаторов далеко не достаточно, чтобы составить полную картину неисправности.

Заставляем приложение сказать "Hello"

Наше приложение Windows в его теперешнем виде не делает ничего, кроме вывода пустого окна, которое можно свернуть, восстановить и закрыть. Чтобы приложение делало  что-либо  полезное,  необходимо  вставить  в  форму  элементы  интерфейса и добавить исходный код. Давайте оснастим приложение кнопкой, при нажатии которой приложение будет выводить в текстовое поле сообщение "hello, world".

Для этого нам сначала нужно вставить в форму элемент управления Button. Волните двойной щелчок мышью по элементу Forml.cs в панели Solution Explorer, чтобы переключиться в вид формы. После этого щелкните по вкладке Toolbox, чты открыть панель с элементами управления. На панели Toolbox щелкните по элементу управления Button, после чего щелкните по форме, чтобы поместить кнопку на форму (рис.  1.5).

Датее, с помощью такой же процедуры, добавьте в форму элемент управления TextBox. Наконец, выровняйте кнопку и текстовое поле, как показано на рис. 1.6. Для перемещения элемента управления по форме наведите на него указатель ми, который при этом принимает вид двух скрещенных под  прямым  углом  строк.  Теперь   нажмите  левую  кнопку  мыши   и   перетащите  элемент  управления в нужное место на форме, после чего отпустите кнопку мыши. При перетаскивании элемента управления по форме Visual С# Express  выравнивает его края с краями близлежащего элемента управления, поэтому выравнивание элементов управления не составляет особого труда.

Запустив приложение Examplei теперь, вы увидите окно с кнопкой и текстовым полем на ней. Кнопку можно нажимать, а в поле вводить текст. Но нажатие кнопки не дает никаких результатов, а с текстом в поле ничего нельзя делать, т. к. с этими элементами управления не было ассоциировано никакого кода.

Рис. 1.5. Добавление кнопки в форму

Рис. 1.6. Вставка в форму кнопки и текстового поля

Чтобы заставить приложение делать что-либо, необходимо думать в терминах событий. Например, если дверь вашего гаража управляется дистанционно, то вы ожидаете, что нажатие кнопки на пульте управления вызовет открытие двери, кда она закрыта, и закрытие, когда она открыта. Изготовитель этой автоматически открываемой гаражной двери ассоциировал событие нажатия кнопки на пульте дистанционного управления с действиями закрытия или открытия двери. В прилении Examplei мы ассоциируем событие нажатия кнопки с действием вывода тета в текстовом поле.

Дважды щелкните по кнопке в форме. Откроется исходный код с курсором, нахящимс я в теле функции button_ciick. Вставьте в это место в функции следуий исходный код (рис. 1.7):

textBoxl.Text = "hello world";

Рис. 1.7. Ассоциирование события нажатия кнопки с действием вывода текста в текстовом поле

Обратите внимание на то, что имя вставленного в форму текстового поля — textBoxl. Это имя было сгенерировано Visual С# Express, как и имя для кнопки. Имена, которые Visual С# Express присваивает по умолчанию элементам управлия, можно изменить (посредством окна Properties соответствующего элемента управления), но в данном случае были оставлены имена по умолчанию.

При  следовании  инструкций,  показанных  на  рис. 1.7,  ассоциирование  действия с событием не составляет никакого труда. Но эта легкость достигается благодаря возможностям Visual С# Express, а не потому, что лежащий в основе процесс явлтся простым. Visual С# Express предполагает, что при двойном щелчке по элемеу управления вы хотите модифицировать событие по умолчанию данного элемеа управления,  и поэтому автоматически генерирует код в шаге 3 на рис. 1.7. Для кнопки событием по умолчанию является событие щелчка (click event), т. е. собие, соответствующее нажатию пользователем левой кнопки  мыши.  Предположие о том, что событие щелчка является событием по умолчанию для левой кнопки мыши, вполне логично. Другие элементы управления имеют иные события по умолчанию. Например, в результате двойного щелчка по элементу управления TextBox будет сгенерирован код для события изменения текста (text-changed event).

Запустите приложение на исполнение и нажмите кнопку в форме. В текстовом поле выводится текст "hello world". Поздравляем, вы только что создали ваше первое приложение в С#!

Вы ассоциирова в событие с действием: щелчок левой кнопкой мыши с выводом текста. Ассоциирование событий с действиями является основой всех приложений Windows.

Вставка в приложение комментариев

Имея работающую программу, будет неплохой идей задокументировать то, что она делает прямо по месту, т. е. в исходном коде. Таким образом, если вам придется работать над поддержкой этого приложения в будущем, вы сможете быстро вотановить в памяти, что и как данный код делает. Кроме этого, выполнять  поержку вашей программы может другой программист, поэтому, вставляя коммеарии в свой исходный код, вы поможете ему разобраться  в  работе  вашей программы. Но даже если вы знаете, что выполнять поддержку программы будете вы сами, воспринимайте себя как незнакомца. Для вас будет сюрпризом  обнарить, как трудно разобраться в своем же коде, написанном несколько месяцев, не говоря уже о нескольких годах, тому назад. Для вставки комментария длиной в оу строчку используется следующий синтаксис:

// Однострочный комментарий

Компилятор игнорирует все,  что идет после двойной косой черты (//) , и не вклает его в конечное приложение. Давайте задокументируем наше приложение Windows следующим образом:

// Когда пользователь нажимает кнопку, выводим текст в текстовом поле.

private void buttonl_Click(object sender, EventArgs e)

{

textBoxl.Text = "hello world";

}

Всегда  полезно  оставлять  простые  комментарии  по  ходу  написания  программы, т. к. они значительно облегчают понимание логики приложения. Но что если неоодимо вставить более подробное объяснение, которое не помещается в одну строчку? В таком случае применятся многострочный комментарий:

/* Первая строка многострочного комментария.

*  Вторая строка.

*  Третья строка.

*/

В этот раз, комментарий начинается символами /* и заканчивается символами */. Как и в случае С однострочными комментариями, компилятор игнорирует все, что находится между этими парами символов. Обратите внимание на то, что звездочки в начале второй и третьей строк комментария добавлены средой Visual С# Express просто для оформления и не являются необходимыми в многострочном коммеарии.

Давайте вставим многострочный комментарий в наше приложение Windows:

namespace Examplei

{

/* Пример простой формы, которая выводит текст,

*      когда пользователь нажимает кнопку.

*      Это наше первое знакомство с событийно-управляемым программированием.

*/

public partial class Forml : Form

{

public Forml ()

{

InitializeComponent();

}

// Когда пользователь нажимает кнопку,

// выводим текст в текстовом поле.

private void buttonl_Click(object sender, EventArgs e)

{

textBoxl.Text = "hello world";

}

}

}

.Существуют также другие виды комментариев, с помощью которых Visual С# мет предоставлять дополнительную информацию в своем графическом интерфейсе пользователя. Эти комментарии рассматриваются в главе 10.

2 Зак. 555

Источник: Гросс  К. С# 2008:  Пер. с англ. — СПб.:  БХВ-Петербург, 2009. — 576 е.:  ил. — (Самоучитель)

По теме:

  • Комментарии