
- •Преимущества Microsoft.Net
- •Понятия приложения, проекта, решения
- •Создание первого проекта
- •Программирование на c#. Состав языка
- •Типы данных
- •Переменные и константы
- •Int age;
- •Организация ввода-вывода данных. Форматирование.
- •Вывод данных
- •Ввод данных
- •Операции
- •Выражения и преобразование типов
- •Int-long, float, double, decimal
- •Функции работы с символами и строками.
- •Символы char
- •Неизменяемые строки string
- •Изменяемые строки
- •Операторы ветвления
- •Оператор выбора switch.
- •Операторы цикла
- •Цикл с предусловием while
- •Цикл с постусловием do while
- •Операторы безусловного перехода
- •Методы: основные понятия
- •Перегрузка методов
- •Обработка исключений
- •Оператор try
- •Операторы checked и unchecked
- •Массивы
- •Многомерные массивы
- •Ступенчатые массивы
- •Оператор foreach и его использование при работе с массивами
- •Регулярные выражения
- •Метасимволы в регулярных выражениях
- •Поиск в тексте по шаблону
- •Редактирование текста
- •Работа с файловой системой
- •Работа с каталогами Абстрактный класс FileSystemInfo
- •Класс DirectoryInfo
- •Класс Directory
- •Работа с файлами Класс Filelnfo
- •Класс File
- •Properties Window
Класс File
Доступ к физическим файлам можно получать и через статические методы класса File. Большинство методов объекта Fileinfo представляют в этом смысле зеркальное отражение методов объекта File.
Замечание. В последний раз удалите с диска d измененную папку prim, затем скопирует ее исходную версию из раздела 12 данного электронного учебника.
static void Main(string[] args)
{
File.Copy(@"d:\prim\letter\letter1.txt",@"d:\prim\bmp\letter1.txt");
Directory.CreateDirectory(@"d:\prim\archives");
File.Move(@"d:\prim\letter\letter1.txt",@"d:\prim\archives\letter1.txt");
File.Delete(@"d:\prim\letter\letter2.txt");
Directory.Delete(@"d:\prim\letter");
}
Имеет прямой смысл использовать статический класс File, когда требуется осуществить единственный вызов метода на объект. В этом случае вызов будет выполнен быстрее, поскольку .NET Framework не придется проходить через процедуру создания экземпляра нового объекта с последующим вызовом метода. Однако если приложение осуществляет несколько операций над файлом, то более разумным представляется создать экземпляр объекта FileInfo и использовать его методы. Это позволит сэкономить определенное время, поскольку объект будет заранее настроен на нужный файл в файловой системе, в то время как статическому классу придется каждый раз осуществлять его поиск заново.
Аналогичное правило действует и при выборе между классами DirectoryиDirectoryInfo.
Создание Windows-приложений.
W i n d o w s F o rm Designer.
Windows Form Designer (программа разработки форм для Windows) — это основное средство, которое используется при создании пользователем собственного интерфейса.
Чтобы начать создание приложения необходимо запустить Visual Studio.NET и создать новый проект С# Windows Application, выбрав в меню File | New | Project.
Появится окно с созданной формой.
Рассмотрим структуру окна. В центре окна находится форма, которая является основой для создания приложения.
Что такое форма?
Итак, форма — это экранный объект, обеспечивающий функциональность программы.
Properties Window
Окно свойств Properties — основной инструмент настройки формы и ее компонентов. Содержимое этого окна представляет собой весь список свойств выбранного в данный момент компонента или формы. Вызывается это окно несколькими способами — в меню View выбираем пункт Properties Window (или используем клавишу F4), на выбранном объекте щелкаем правой кнопкой мыши и в контекстном меню пункт Properties выбираем объект и нажимаем F4 или просто выбираем объект и переходим в окно Properties. Когда вы только создали проект, в окне Properties отображаются свойства самой формы.
Таблица 1.1. | |||||
Элемент |
Изображение |
Описание | |||
Object name |
|
В поле этого списка выводится название данного выбранного объекта, который является экземпляром какого-либо класса. Здесь Form1 — название формы по умолчанию, которая наследуется от класса System.Windows.Forms.Form | |||
Categorized |
|
При нажатии на эту кнопку производится сортировка свойств выбранного объекта по категориям. Можно закрывать категорию, уменьшая число видимых элементов. Когда категория скрыта, вы видите знак (+), когда раскрыта — (–) | |||
Alphabetic |
|
Сортировка свойств и событий объекта в алфавитном порядке | |||
Properties |
|
При нажатии на эту кнопку отображается перечисление свойств объекта | |||
Events |
|
При нажатии на эту кнопку отображается перечисление событий объекта | |||
Description Pane |
|
Панель, на которую выводится информация о выбранном свойстве. В данном случае в списке свойств формы было выбрано свойство Text | |||
Таблица 1.2. Некоторые свойства формы |
| ||||
Свойство |
Описание |
Значение по умолчанию |
| ||
Name |
Название формы в проекте. Это не заголовок формы, который вы видите при запуске формы, а название формы внутри проекта, которое вы будете использовать в коде |
Form1, Form2 и т.д. |
| ||
AcceptButton |
Устанавливается значение кнопки, которая будет срабатывать при нажатии клавиши Enter. Для того чтобы это свойство было активным, необходимо наличие по крайней мере одной кнопки, расположенной на форме |
None |
| ||
BackColor |
Цвет формы. Для быстрого просмотра различных вариантов просто щелкайте прямо на названии "BackColor" |
Control |
| ||
BackgroundImage |
Изображение на заднем фоне |
None |
| ||
CancelButton |
Устанавливается значение кнопки, которая будет срабатывать при нажатии клавиши Esc. Для того чтобы это свойство было активным, необходимо наличие по крайней мере одной кнопки, расположенной на форме |
None |
| ||
ControlBox |
Устанавливается наличие либо отсутствие трех стандартных кнопок в верхнем правом углу формы: "Свернуть", "Развернуть" и "Закрыть" |
|
| ||
Cursor |
Определяется вид курсора при его положении на форме |
Default |
| ||
DrawGrid |
Устанавливается наличие либо отсутствие сетки из точек, которая помогает форматировать элементы управления. В любом случае сетка видна только на стадии создания приложения |
True |
| ||
Font |
Форматирование шрифта, используемого для отображения текста на форме в элементах управления |
Microsoft Sans Serif; 8,25pt |
| ||
FormBorderStyle |
Определение вида границ формы. Возможные варианты:
|
Sizable |
| ||
Icon |
Изображение иконки, располагаемой в заголовке формы. Поддерживаются форматы .ico |
|
| ||
MaximizeBox |
Определяется активность стандартной кнопки "Развернуть" в верхнем правом углу формы |
True |
| ||
MaximumSize |
Максимальный размер ширины и высоты формы, задаваемый в пикселях. Форма будет принимать указанный размер при нажатии на стандартную кнопку "Развернуть" |
0;0 (Во весь экран) |
| ||
MinimizeBox |
Определяется активность стандартной кнопки "Свернуть" в верхнем правом углу формы |
True |
| ||
MinimumSize |
Минимальный размер ширины и высоты формы, задаваемый в пикселях. Форма будет принимать указанный размер при изменении ее границ пользователем (если свойство FormBorderStyle имеет значение по умолчанию Sizable) |
0;0 |
| ||
Size |
Ширина и высота формы |
300; 300 |
| ||
StartPosition |
Определение расположения формы при запуске приложения. Возможны следующие значения:
|
WindowsDefaultLocation |
| ||
Text |
Заголовок формы. В отличие от свойства Name, именно это название формы, которое не используется в коде |
Form1, Form 2 и т.д. |
| ||
WindowState |
Определение положения формы при запуске. Возможны следующие значения:
|
Normal |
|
Слева находится панель инструментов. Поместить ее в окно можно (если она отсутствует)выбрав пункт Toolbox в меню View, либо нажав Ctrl-Alt-X. Окно содержит компоненты Windows-форм, называемые также элементами управления, которые размещаются на форме. Оно состоит из нескольких закладок: My User Controls, Components, Data, Windows Forms и General
Все управляющие элементы обладают набором свойств, которые используются для управления поведением этих элементов. В едедующей ниже таблице приведены некоторые из наиболее распространенных свойств.
ИМЯ |
Режим доступа |
Описание |
Anchor |
Чтение/запись |
С помощью этого свойства можно определять, каким образом будет вести себя управляющий элемент при изменении размеров своего контейнера. |
BackColor |
Чтение/запись |
Определяет цвет фона управляющего элемента. |
Bottom |
Чтение/запись |
Задавая значение этого свойства, можно определить расстояние от верха окна до нижней части управляющего элемента. Это не то же самое, что задание высоты управляющего элемента |
Dock |
Чтение/запись |
Позволяет делать управляющий элемент прилегающим к краям окна. Более подробно это свойство будет объяснено ниже. |
Enabled |
Чтение/запись |
Присваивание свойству Enabled значения t r u e обычно означает, что данный управляющий элемент в состоянии принимать информацию, вводящуюся пользователем. Присваивание свойству Enabled значения f a l s e обычно означает, что данный управляющий элемент делать этого не в состоянии. |
ForeColor |
Чтение/запись |
Определяет цвет управляющего элемента. |
Height |
Чтение/запись |
Определяет расстояние от верхнего до нижнего края управляющего элемента. |
Left |
Чтение/запись |
Определяет положение левого края управляющего элемента относительно левого края окна. |
Name |
Чтение/запись |
Имя управляющего элемента. По этому имени к управляющему, элементу можно обращаться программным путем. |
Parent |
Чтение/запись |
Управляющий элемент, от которого происходит данный управляющий элемент. |
Right |
Чтение/запись |
Определяет положение правого края управляющего элемента относительно правого края окна. |
Tablndex |
Чтение/запись |
Определяет порядковый номер управляющего элемента для данного контейнера |
TabStop |
Чтение/запись |
Определяет, возможно ли осуществлять доступ к данному управляющему элементу с помощью клавиши Tab. |
Tag |
Чтение/запись |
Это свойство обычно не используется самим управляющим элементом; оно включено в эту таблицу, поскольку в нем может храниться информация о самом управляющем элементе. Если значение этого свойства присваивается посредством программы разработки Windows Form, то допустимым является только текстовая строка. |
Тор |
Чтение/запись |
Определяет положение верхнего края управляющего элемента относительно верхнего края окна. |
Visible |
Чтение/запись |
Определяет, является ли управляющий элемент видимым в процессе выполнения. |
Width |
Чтение/запись |
Определяет ширину управляющего элемента. |
События
Когда пользователь нажимает на кнопку или щелкает по ней мышью, то вам как программисту-разработчику данного приложения, хотелось бы получить информацию о том, что это произошло. С этой целью управляющие элементы используют события.
Имя |
Описание |
KeyUp |
Наступает в тот момент, когда клавиша отпускается, в том случае если управляющий элемент находится в фокусе. Это событие всегда возникает после событий KeyDown и KeyPress. |
GotFocus |
Возникает в тот момент, когда управляющий элемент оказывается в фокусе. Не рекомендуется использовать это событие для выполнения проверки допустимости управляющих элементов. Для этих целей следует использовать события Validating и Validated. |
LostFocus |
Возникает в тот момент, когда управляющий элемент оказывается не в фокусе. Не рекомендуется использовать это событие для выполнения проверки допустимости управляющих элементов. Для этих целей следует использовать события Validating и Validated. |
MouseDown |
Возникает в тот момент, когда курсор мыши находится на управляющем элементе, а кнопка мыши находится в нажатом состоянии. Это не то же самое, что событие Click, поскольку событие MouseDown возникает, когда кнопка мыши нажата и до того момента, когда она будет отпущена. |
MoseMove |
Возникает постоянно по мере того, как курсор мыши передвигается по управляющему элементу. |
Mouseup |
Возникает в тот момент, когда курсор мыши находится на управляющем элементе, а кнопка мыши отпущена |
Paint |
Возникает в момент, когда управляющий элемент рисуется на экране. |
Validated |
Это событие генерируется, когда управляющий элемент, свойство которого CausesValidation (требует проверки допустимости) равно t r u e , должен оказаться в фокусе. Оно наступает, после того как завершается событие Validating, и свидетельствует о том, что проверка допустимости завершена. |
Validating |
Это событие генерируется, когда управляющий элемент, свойство которого CausesValidation равно t r u e , должен оказаться в фокусе. Обратите внимание на то, что управляющий элемент, для которого будет выполняться проверка допустимости,—это элемент, теряющий фокус, а не получающий его. |
Click |
Наступает в том случае, когда происходит щелчок мышью на управляющем элементе. Это событие наступает также и в том случае, если пользователь нажимает клавишу Enter. |
Doubleclick |
Наступает в том случае, когда на управляющем элементе происходит двукратный щелчок мышью. Использование события c l i c k для некоторых управляющих элементов, таких как управляющий элемент Button, означает, что событие Doubleclick никогда не будет вызываться. |
DragDrop |
Наступает, когда завершается процедура переноса мышью, другими словами, в тот момент, когда объект перенесен мышью на управляющий элемент и пользователь отпускает кнопку мыши. |
DragEnter |
Возникает в тот момент, когда переносимый мышью объект оказывается внутри границ управляющего элемента. |
DragLeave |
Возникает в тот момент, когда переносимый мышью объект оказывается вне границ управляющего элемента. |
DragOver |
Возникает в тот момент, когда переносимый мышью объект накрывает управляющий элемент |
KeyDown |
Наступает в момент нажатия клавиши, в том случае, если управляющий элемент находится в фокусе. Это событие всегда предшествует событиям Keypress и KeyUp. |
Keypress |
Наступает в момент нажатия клавиши в том случае, если управляющий элемент находится в фокусе. Это событие всегда возникает после события KeyDown и передсобытием KeyUp. Разница между KeyDown и Keypress заключается в том, KeyDown передает код нажатой клавиши, в то время как Keypress передает значение типа char, соответствующее нажатой клавише. |