Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Основы визуального программирования в среде Visual Studio на базе C#

Покупка
Основная коллекция
Артикул: 815071.01.99
Рассматриваются вопросы создания визуальных приложений с использованием стандартных элементов управления. Содержится описание языка программирования С#, что позволяет читателю легче усвоить приведенные примеры. Для студентов, обучающихся по направлениям подготовки в рамках укрупненных групп 02.00.00 «Компьютерные и информационные науки», 09.00.00 «Информатика и вычислительная техника», 10.00.00 «Информационная безопасность», 11.00.00 «Электроника, радиотехника и системы связи», 12.00.00 «Фотоника, приборостроение, оптические и биотехнические системы и технологии», 27.00.00 «Управление в технических системах» и 38.00.00 «Экономика и управление». Может быть полезно практикам, которые имеют значительный опыт разработки приложений в среде Windows.
Мартыненко, Т. В. Основы визуального программирования в среде Visual Studio на базе C# : учебное пособие / Т. В. Мартыненко, В. В. Турупалов, Н. К. Андриевская ; под общ. ред. к. т. н., проф. В. В. Турупалова. - Москва ; Вологда : Инфра-Инженерия, 2023. - 232 с. - ISBN 978-5-9729-1225-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/2096143 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Т. В. Мартыненко 
В. В. Турупалов 
Н. К. Андриевская  
ОСНОВЫ  
ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ 
В СРЕДЕ VISUAL STUDIO НА БАЗЕ C# 
Учебное пособие 
Под общей редакцией 
кандидата технических наук, профессора В. В. Турупалова 
Москва     Вологда 
«Инфра-Инженерия» 
2023 


 
УДК 004.432:004.514(075.8) 
ББК 32.97385.15 
М29 
 
 
Рецензенты: 
доктор технических наук, профессор кафедры компьютерных  
технологий и программной инженерии 
ФГАОУ ВО «Санкт-Петербургский государственный университет  
аэрокосмического приборостроения» Скобцов Юрий Александрович; 
доктор технических наук, профессор, заведующий кафедрой 
 прикладной математики Донецкого национального технического  
университета Павлыш Владимир Николаевич  
 
 
 
Мартыненко, Т. В. 
М29   
Основы визуального программирования в среде Visual Studio  
на базе C : учебное пособие / Т. В. Мартыненко, В. В. Турупалов,  
Н. К. Андриевская ; под общ. ред. к. т. н., проф. В. В. Турупалова. - 
Москва ; Вологда : Инфра-Инженерия, 2023. - 232 с. : ил., табл. 
ISBN 978-5-9729-1225-4 
Рассматриваются вопросы создания визуальных приложений с использованием стандартных элементов управления. Содержится описание 
языка программирования C, что позволяет читателю легче усвоить приведенные примеры.  
Для студентов, обучающихся по направлениям подготовки в рамках 
укрупненных групп 02.00.00 «Компьютерные и информационные науки», 
09.00.00 «Информатика и вычислительная техника», 10.00.00 «Информационная безопасность», 11.00.00 «Электроника, радиотехника и системы 
связи», 12.00.00 «Фотоника, приборостроение, оптические и биотехнические системы и технологии», 27.00.00 «Управление в технических системах» и 38.00.00 «Экономика и управление». Может быть полезно практикам, которые имеют значительный опыт разработки приложений в среде 
Windows. 
УДК 004.432:004.514(075.8) 
ББК 32.97385.15 
 
 
 
ISBN 978-5-9729-1225-4 
” Мартыненко Т. В., Турупалов В. В., Андриевская Н. К.., 2023 
 
” Издательство «Инфра-Инженерия», 2023 
 
” Оформление. Издательство «Инфра-Инженерия», 2023 
 
 


 
 
 
СОДЕРЖАНИЕ 
 
ВВЕДЕНИЕ 
.................................................................................................... 6 
1 
ОБЩИЕ ПОНЯТИЯ 
................................................................................ 8 
1.1 
Основы объектно-событийного программирования в C ......................................... 
8 
1.1.1 
Элементы управления 
.............................................................................................. 
8 
1.1.2 
Типы свойств .......................................................................................................... 12 
1.1.3 
События .................................................................................................................. 
12 
1.1.4 
Методы 
.................................................................................................................... 
15 
1.2 
Интегрированная среда разработки (IDE) ................................................................ 
15 
1.2.1 
Главное меню ......................................................................................................... 
16 
1.2.2 
Панели инструментов ............................................................................................ 
16 
1.2.3 
Обозреватель решений .......................................................................................... 
18 
1.2.4 
Конструктор формы и панель элементов ............................................................ 
19 
1.2.5 
Окно редактора кода 
.............................................................................................. 
22 
1.2.6 
Окно свойств .......................................................................................................... 
25 
1.2.7 
Утилита представления классов ........................................................................... 
32 
1.2.8 
Окно просмотра объектов ..................................................................................... 
33 
1.2.9 
Настройка интегрированной среды разработки 
.................................................. 
33 
1.2.10 Компоненты проекта Windows Forms 
.................................................................. 
35 
1.2.11 Сохранение файлов проекта ................................................................................. 
35 
1.3 
Вопросы для повторения и контроля знаний ........................................................... 
35 
1.4 
Задания для самостоятельного решения ................................................................... 
36 
2 
ОСНОВЫ ПРОГРАММИРОВАНИЯ В C 
......................................... 37 
2.1 
Переменные ................................................................................................................. 
37 
2.2 
Литералы (константы) ................................................................................................ 
37 
2.3 
Типы данных 
................................................................................................................ 
40 
2.3.1 
Классификация типов ............................................................................................ 
41 
2.3.2 
Встроенные типы ................................................................................................... 
42 
2.3.3 
Классификация типов данных по способу хранения 
.......................................... 
44 
2.3.4 
Пользовательские типы данных ........................................................................... 
46 
2.3.5 
Перечисления ......................................................................................................... 
48 
2.3.6 
Символы и строки .................................................................................................. 
50 
2.4 
Область видимости переменных ............................................................................... 
52 
2.5 
Операции и выражения 
............................................................................................... 
53 
2.5.1 
Операция new ......................................................................................................... 
56 
2.5.2 
Операции отрицания 
.............................................................................................. 
57 
2.5.3 
Явное преобразование типа .................................................................................. 
57 
2.5.4 
Условная операция 
................................................................................................. 
57 
2.5.5 
Логические выражения 
.......................................................................................... 
58 
2.5.6 
Символьные выражения ........................................................................................ 
60 
2.6 
Стандартные сущности 
............................................................................................... 
60 
2.6.1 
Математические функции ..................................................................................... 
61 
2.6.2 
Структура времени и даты .................................................................................... 
63 
2.6.3 
Преобразование форматов .................................................................................... 
64 
2.6.4 
Пользовательские форматы .................................................................................. 
66 
3 
 
 


 
 
2.6.5 
Методы обработки строк 
....................................................................................... 
67 
2.7 
Операторы 
.................................................................................................................... 
70 
2.7.1 
Оператор присваивания 
......................................................................................... 
71 
2.7.2 
Условный оператор 
................................................................................................ 
72 
2.7.3 
Управляющая структура switch ............................................................................ 
77 
2.7.4 
Операторы передачи управления ......................................................................... 
80 
2.8 
Массивы ....................................................................................................................... 
81 
2.8.1 
Одномерные массивы ............................................................................................ 
83 
2.8.2 
Прямоугольные массивы 
....................................................................................... 
84 
2.8.3 
Ступенчатые массивы 
............................................................................................ 
85 
2.8.4 
Класс System.Array................................................................................................. 
87 
2.9 
Циклы ........................................................................................................................... 
87 
2.9.1 
Цикл с параметром for ........................................................................................... 
88 
2.9.2 
Цикл с предусловием while ................................................................................... 
94 
2.9.3 
Цикл с постусловием do ........................................................................................ 
94 
2.9.4 
Цикл перебора foreach ......................................................................................... 100 
2.9.5 
Совместное использование операторов цикла и условного оператора .......... 
101 
2.10 
Контроль ошибок на этапе выполнения программы ............................................. 
103 
2.10.1 Оператор try 
.......................................................................................................... 
103 
2.10.2 Оператор throw ..................................................................................................... 
106 
2.11 
Файловый ввод-вывод .............................................................................................. 
106 
2.11.1 Потоки байтов ...................................................................................................... 
111 
2.11.2 Потоки символов 
.................................................................................................. 
115 
2.11.3 Двоичные потоки ................................................................................................. 
121 
2.11.4 Использование конструкции using ..................................................................... 
129 
2.12 
Выводы 
....................................................................................................................... 
141 
2.13 
Вопросы для повторения и контроля знаний ......................................................... 
142 
2.14 
Задания для самостоятельного решения ................................................................. 
142 
3 
ФОРМА И ЭЛЕМЕНТЫ УПРАВЛЕНИЯ 
......................................... 145 
3.1 
Выбор и использование элементов управления ..................................................... 
145 
3.2 
Работа с формами ...................................................................................................... 
146 
3.3 
Элемент управления Label (Метка или надпись) 
................................................... 
151 
3.4 
Элемент управления Button (Кнопка или командная кнопка) .............................. 
152 
3.5 
Элемент управления TextBox (Текстовое окно или текстовое поле) 
................... 
154 
3.6 
Элемент управления CheсkBox (Флажок) .............................................................. 
157 
3.7 
Элемент управления RadioButton (Переключатель) .............................................. 
159 
3.8 
Контейнерные элементы управления Группа (GroupBox) и Панель (Panel) 
....... 
161 
3.9 
Элемент управления ListBox (Cписок) ................................................................... 
165 
3.10 
Элемент управления ComboBox (Комбинированный список) ............................. 
165 
3.11 
Элемент управления ToolTip ................................................................................... 
173 
3.12 
Элемент управления PictureBox (Графическое поле) 
............................................ 
173 
3.13 
Элемент управления ImageList ................................................................................ 
175 
3.14 
Элемент управления Timer (Таймер) ...................................................................... 
176 
3.15 
Элементы управления HScrollBar и VScrollBar (Полосы прокрутки) ................. 
177 
3.16 
Выводы 
....................................................................................................................... 
179 
3.17 
Вопросы для повторения и контроля знаний ......................................................... 
180 
3.18 
Задания для самостоятельного решения ................................................................. 
181 
4 
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ 
... 183 
4.1 
Концепции объектно-ориентированного подхода ................................................. 
183 
4.2 
Классы и объекты 
...................................................................................................... 
183 
4 
 
 


 
 
4.3 
Методы класса ........................................................................................................... 
185 
4.3.1 
Методы-процедуры 
.............................................................................................. 
186 
4.3.2 
Методы-функции ................................................................................................. 
193 
4.3.3 
Передача аргументов методу по ссылке и по значению .................................. 
196 
4.3.4 
Использование форм и элементов управления как аргументов методов ....... 
196 
4.3.5 
Конструктор класса 
.............................................................................................. 
197 
4.3.6 
Перегрузка методов ............................................................................................. 
200 
4.4 
Класс Object ............................................................................................................... 
202 
4.5 
Пространства имен 
.................................................................................................... 
203 
4.6 
Реализация наследования ......................................................................................... 
203 
4.7 
Особенности инкапсуляции ..................................................................................... 
205 
4.8 
Свойства класса ......................................................................................................... 
208 
4.9 
Индексаторы .............................................................................................................. 
211 
4.10 
Виртуальные методы и свойства ............................................................................. 
213 
4.11 
Скрытие методов и свойств 
...................................................................................... 
216 
4.12 
Частичные классы ..................................................................................................... 217 
4.13 
Абстрактные классы и члены классов .................................................................... 
219 
4.13.1 Абстрактные классы ............................................................................................ 
219 
4.13.2 Абстрактные члены классов ............................................................................... 
222 
4.14 
Интерфейсы ............................................................................................................... 
224 
4.15 
Выводы 
....................................................................................................................... 
228 
4.16 
Вопросы для повторения и контроля знаний ......................................................... 
228 
4.17 
Задания для самостоятельного решения ................................................................. 
228 
 
БИБЛИОГРАФИЧЕСКОЕ ОПИСАНИЕ 
................................................. 230 
 
5 
 
 


 
 
ВВЕДЕНИЕ 
Визуальное программирование (от лат. visualis - зрительный) - 
это технология программирования, которая предусматривает создание приложений с помощью наглядных средств. Визуальное программирование позволяет конструировать типовое Windows-окно 
приложения с параллельным написанием кода. 
Следует отметить, что все программы, которые работают под 
управлением Windows, имеют стандартный интерфейс пользователя 
(внешний вид окон, наличие главного меню и элементов управления, 
расположенных на панелях и т. д.). Это означает, что пользователи 
потратят больше времени на работу с приложением и меньше на изучение меню, диалоговых панелей и комбинации клавиш. 
До появления концепций визуального программирования разработка приложений под Windows была намного тяжелее, чем процесс 
создания консольных приложений. Разработчики программного обеспечения должны были позаботиться буквально обо всем, например,  
о работе с мышью, обработке событий меню, и даже отслеживать, 
щелкнул пользователь один либо два раза в конкретном месте экрана. 
Разработка приложений Windows требовала экспертных знаний по 
языкам программирования и сотен строк кода для выполнения простейших задач.  
Visual C# (или просто C#) спроектирован специально для применения с .NET Framework и основан на современной объектноориентированной методологии проектирования. При разработке C# 
специалисты Microsoft опирались на опыт создания подобных языков, построенных в соответствии с объектно-ориентированны- 
ми принципами. Первые наработки для объектно-ориентирован- 
ных языков программирования (ООП) были предложены еще в начале 
1960-х годов. ООП позволяет разработчику моделировать объекты 
определённой предметной области и позволяет использовать один  
и тот же программный код в разных сферах. Применение принципов 
ООП позволяет легко масштабировать уже имеющийся программ- 
ный код, а также предоставляет возможность внесения измене- 
ний в отдельные компоненты программы без затрагивания остальных 
частей.  
6 
 
 


 
 
С помощью Visual C# можно легко и быстро создавать приложения для Wіndows. Среда Visual Studio содержит большое количество 
инструментов для разработки графических интерфейсов. Инструменты Visual Studio образуют ІDE – Іntegraty Development Envіronment 
(интегрированная среда разработки). Благодаря использованию этих 
инструментов работа, связанная с разработкой визуальных приложений, стала значительно легче. 
Учебное пособие предназначено для студентов, обучающихся по 
направлениям подготовки в рамках укрупненных групп 02.00.00 
«Компьютерные и информационные науки», 09.00.00 «Информатика 
и вычислительная техника», 10.00.00 «Информационная безопасность», 11.00.00 «Электроника, радиотехника и системы связи», 
12.00.00 «Фотоника, приборостроение, оптические и биотехнические 
системы и технологии», 27.00.00 «Управление в технических системах» и 38.00.00 «Экономика и управление». 
Учебное пособие охватывает вопросы создания визуальных приложений с использованием стандартных элементов управления. Второй раздел в сжатой форме содержит описание языка программирования C#, что позволяет читателю легче усвоить приведенные в учебнике примеры. Рассмотренные элементы концепции объектноориентированного программирования позволяют повысить качество 
разрабатываемых визуальных приложений. Предполагается, что читатель уже имеет опыт написания программ и разработки алгоритмов.
 
 
 
Авторы 
7 
 
 


 
 
 
1 ОБЩИЕ ПОНЯТИЯ 
1.1 Основы объектно-событийного программирования в C# 
1.1.1Элементы управления 
Процесс создания Windows-приложения состоит из двух основных этапов: 
1)визуальное проектирование, то есть задание внешнего облика 
приложения; 
2)определение поведения приложения. 
Основным окном разрабатываемого приложения является форма. 
Визуальное проектирование заключается в помещении на форму элементов управления (компонентов) и задании их свойств (размер, положение на экране, цвет и пр.) и свойств самой формы.  
Каждый элемент управления обладает набором свойств.  
Свойства - это атрибуты (основные характеристики), которые 
описывают особенности объекта, например: цвет, высота, ширина и 
положение объекта. На внешний вид объекта можно воздействовать 
(изменять его) во время разработки и выполнения приложения, изменяя его свойства. 
Практически все элементы управления реагируют на определённые события от мыши и клавиатуры. 
Приложения Windows используют методы (процедуры) обработки событий для управления взаимодействием между программой и 
пользователем и для реакции на действия операционной системы 
(ОС). Программный код, разрабатываемый с использованием C#,  
будет обеспечивать реакцию на события. Процедура, которая реагирует на событие, называется обработчиком события. Vіsual C# работает с событиями путём вызова определённых процедур - обработчиков событий. Если процедура не связана с данным событием, то оно 
игнорируется и выполняется стандартная реакция системы или не 
производится никакого действия. 
Для элементов управления, представленных в Vіsual C#, существует набор свойств, которые присущи фактически всем элементам 
управления (табл. 1.1). 
8 
 
 


 
 
Таблица 1.1 - Общие свойства элементов управления 
Свойство 
Описание 
Anchor 
Указывает поведение элемента управления при изменении 
размеров его контейнера 
BackColor 
Цвет фона элемента управления 
BackgroundImage Устанавливает или возвращает фоновое изображение,  
размещаемое внутри элемента управления. 
Cursor 
Вид указателя мыши при позиционировании указателя  
на элементе управления 
Dock 
Пристыковывает элемент управления к краям его контейнера 
Enabled 
Установка значения свойства Enabled равным true  
означает, что элемент управления может принимать данные,  
вводимые пользователем. Установка этого значения равным 
false означает невозможность приема этих данных 
Font 
Шрифт, используемый для отображения текста на элементе 
управления 
ForeColor 
Цвет текста надписи на элементе управления 
Location 
Положение элемента управления на поверхности формы  
или формы на поверхности экрана. Уточняющее свойство х 
определяет расстояние от левой границы элемента  
управления до левой границы формы/экрана, уточняющее 
свойство у - от верхней границы элемента управления  
до верхней границы клиентской области 
Name 
Имя элемента управления. Это имя может использоваться 
для ссылки на элемент в программном коде. 
Size 
Размер элемента управления. Уточняющее свойство Width 
определяет ширину, свойство Height - высоту 
TabIndex 
Порядковый номер элемента управления  
в последовательности перехода между элементами  
управления внутри его контейнера по клавише табуляции 
Tabstop 
Указывает доступность элемента управления по клавише 
табуляции 
Text 
Содержит текст, связанный с данным элементом  
управления 
ToolTip 
Получает или задает содержимое подсказки в случае  
помещения на форму соответствующего элемента  
управления подсказки 
Visible 
Указывает видимость элемента управления во время  
выполнения 
9 
 
 


 
 
Следует отметить, что существует два свойства, которые отвечают за более точное расположение элементов управления на форме. 
Это Margin и Padding. 
Свойство Margin определяет пространство вокруг элемента 
управления, которое обеспечивает определенное расстояние между 
границами этого элемента управления и другими элементами. 
Свойство Padding определяет пространство внутри элемента 
управления, которое обеспечивает определенное расстояние между 
содержимым элемента управления (например, значением свойства 
Text) и границами элемента управления.  
На рисунке 1.1 показаны различия между свойствами Padding  
и Margin элемента управления. 
 
Внешнее поле 
Внутреннее поле 
Margin 
Padding 
 
 
Рисунок 1.1 - Различие между свойствами Padding и Margin  
элемента управления  
Для обоих свойств можно задать отдельные значения как для 
всех границ (All), для правой (Right), левой (Left), верхней (Top), 
нижней (Bottom). 
Отдельно следует рассмотреть свойства Anchor и Dock, которые 
используются на этапе конструирования формы. Необходимость использования этих свойств - предотвращение искажения формы при 
изменении размеров окна пользователем. Раньше для решения этой 
задачи требовалось написание множества строк кода. Следует отметить, что свойства Anchor и Dock будут применены к элементу 
управления только в том случае, если AutoSize имеет значение true. 
10