За рамками этого курса
К сожалению, люди еще не изобрели способа загружать необходимую информацию прямо в голову. Но стоит ли об этом сожалеть? Ведь процесс обучения доставляет немало удовольствия. Вспомните свой восторг, когда заработала первая написанная вами программа. А ведь она была лишь ничтожной частью тех побед, которые еще предстоит одержать.
Автор этого курса вовсе не ставил перед собой задачу рассказать все о программировании на языке C#. Самое главное – сформировать некую базу из основных принципов и предоставить достаточное количество примеров с реальными задачами, опираясь на которые юные программисты приступят к самостоятельному освоению этого искусства.
Проекты и среда разработки
Во всех примерах, приведенных в курсе, построение проекта несколько отличается от способа построения реальных проектов. В наших примерах вначале строится проект типа "Windows Application", а затем выполняются не совсем обычные действия. Из проекта удаляется построенная автоматически форма, а текст построенного автоматически класса Program заменяется кодом прилагаемого примера. Благодаря этим манипуляциям весь код примера содержится в одном файле, что облегчает его восприятие. Второе существенное отличие состоит в том, что все элементы управления, появляющиеся на форме, создаются программным путем. В реальной практике заполнение формы элементами управления производится вручную путем перетаскивания элементов с инструментальной панели. Гораздо проще поместить элемент управления в нужное место формы и придать ему необходимые размеры, видя перед собой и форму, и элементы управления. Так работать гораздо эффективнее, чем программно задавать для элемента управления свойства Location, Height и Width. Оба способа работы эквивалентны по результатам, поскольку в итоге создается один и тот же код. В студии разработки визуальная работа программиста по проектированию интерфейса формы поддерживается тем, что там есть специальный инструментарий, который называется "Дизайнер"; он следит за выполняемыми "вручную" действиями, и создает код, эквивалентный этим действиям. В конечном итоге в проекте появляется файл, созданный "Дизайнером", и программист не должен его изменять .
Итак, в реальном проекте есть файлы, создаваемые автоматически и не подлежащие изменению, но есть и такие, куда программисты добавляют свой код. В наших проектах имеется только один файл, который мы полностью создаем сами.
На приведенном ниже снимке экрана показана студия разработки с открытым Windows-проектом. Для того чтобы более наглядно показать все создаваемые элементы, четыре окна, отображающие файлы проекта, помещены в один рисунок.
Давайте рассмотрим все четыре окна.
- Код Form1.cs – здесь записывается код формы. Сюда же добавляются обработчики событий элементов управления.
- Конструктор формы Form1.Design.cs – визуальное представление формы, куда можно перетаскивать элементы управления с панели инструментов. Это избавляет от необходимости программировать элементы вручную.
- Код с Form1.Designer.cs – когда в область конструктора перетаскивается, к примеру, кнопка, "Дизайнер", из Visual C# Express добавляет соответствующий фрагмент кода с описанием данного экземпляра кнопки. Код сохраняется в файле, а файл используется только самой системой и служит для представления в коде тех элементов, которые добавляются в область конструктора. Обычно код в этом файле программист не изменяет и ничего в него не добавляет.
- Код Program.cs. Этот файл содержит стандартный метод Main() и код для автоматического создания экземпляра класса Form. Метод Main – это точка "большого взрыва". Он вызывается системой извне, и именно с него начинается выполнение проекта. В приложениях Windows код метода Main создается автоматически. Этот файл тоже не изменяется.
Подобное разделение кода на несколько файлов стало возможным благодаря существованию так называемых разделяемых классов – это означает, что части класса могут находиться в разных файлах. Разделять класс на несколько файлов не обязательно, однако такой подход имеет большое преимущество: код со специальным предназначением выделяется в отдельный файл. Благодаря применению подобной схемы каждому предоставляется свое рабочее пространство. На приведенной выше иллюстрации ваша территория – это два верхних окна: конструктор, где программист самостоятельно размещает элементы управления, и файл Form1.cs, где он создает обработчики событий.
Если удобства работы вас не соблазняют, файлы Program.cs и Form1.cs можно удалить и начать писать собственный код.
Дополнительные советы
Как и при изучении любого нового предмета, во время чтения курса у вас, несомненно, будут возникать многочисленные вопросы. Попытаемся ответить на те, которые задаются наиболее часто:
- Что делать, если Visual C# Express выдает сообщение об ошибке?
Успокоиться и попытаться понять, что хочет сказать компьютер. Сделать это непросто, но попробуйте поставить себя на его место — обычно помогает.
Почитайте разделы справки Visual C# Express, касающиеся отладки программ. Крайне важно освоить пошаговое выполнение операторов программного кода с одновременной проверкой значений переменных. Ошибки, появляющиеся в ходе этого процесса, автоматически не устраняются, но вы получаете гораздо больше полезной информации, благодаря которой можно понять причину ошибки и исправить ее. Хороший детектив всегда вначале собирает улики. Поисковую работу придется выполнять вам.
Если отладка не принесла желаемого результата, попробуйте найти подсказку в справке или в Интернете. Если повезет, можете наткнуться на идеи, которые позволят взглянуть на проблему с другой стороны. - Как узнать, какие классы доступны в библиотеке классов .NET Framework Class Library?
- Какие методы есть у этих классов?
- И какие параметры необходимы этим методам?
Visual C# Express содержит подробный справочный материал по всем классам в библиотеке .NET Framework Class Library. Чтобы просмотреть справку, выберите "Справка" пункт "Оглавление", и тему ".NET Framework SDK". В приведенном ниже примере требуется найти сведения о том, какие классы доступны в пространстве имен System.Windows.Forms. Для этого мы выбираем Class library ("Библиотека классов") и, нажимая на кнопку со стрелкой, прокручиваем страницу вниз до заголовка "System.Windows.Forms".
При переходе по гиперссылке Systems.Windows.Forms появляется список классов (в нашем примере это "Кнопка", "Метка", "Поле со списком" и т. п.). При выборе определенного класса (например, "Поле со списком") на экране появляется нужная картинка (см. рисунок ниже). Если теперь щелкнуть по гиперссылке "Элементы", откроется страница с перечислением всех методов, свойств и событий этого класса и подробной информацией о них. Одним из главных достоинств этого справочного материала является огромное количество содержащихся в нем примеров. Иногда информация покажется вам слишком общей, но стоит нажать кнопку "Пример", и все сразу становится на свои места. Если вы не нашли подходящего примера в справочном материале, выполните поиск по всей справке — в большинстве случаев полезные примеры обнаружатся в других ее частях. - Где найти дополнительные сведения?
В какой-то момент вы поймете, что без других источников информации уже не обойтись. Это означает, что пришло время обратиться к своим друзьям-программистам и поинтересоваться, что именно они программируют и как решают возникающие проблемы.
Рекомендуем посетить следующие веб-узлы:
- http://blogs.msdn.com/rucoding4fun/
- http://msdn.microsoft.com/beginner
- http://social.msdn.microsoft.com/Forums/ru-RU/beginnerru/threads
- http://www.dreamspark.ru
- http://www.techdays.ru
- http://www.gotdotnet.ru
- http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=160&SiteID=1 (EN)
- http://www.codeproject.com/?cat=3 (EN)
- http://www.intuit.ru/department/school/cs4kids/
Не стесняйтесь задавать вопросы в форумах. Однако сначала ознакомьтесь с уже существующими сообщениями и проверьте, не задавал ли кто-нибудь до вас точно такой же вопрос.
Приятного путешествия в мир программирования!