Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР3 С#1 Линейные и разветвляющиеся алгоритмы

.pdf
Скачиваний:
0
Добавлен:
25.02.2024
Размер:
2.49 Mб
Скачать

Рисунок 21 – Результат работы приложения Шаг 9. Полностью остановите работу приложения (закройте окно

приложения). А затем закройте и решение (Меню Файл -> Закрыть решение). При этом Visual Studio откроет диалоговое окно Выберите действие.

Задание 3 выполнено!

2.5 Свойства формы и управляющих элементов

C# является языком объектно-ориентированного программирования

(ООП). ООП – это методика разработки программ, в основе которой лежит понятие объекта. Это существенно отличает C# и другие объектно-

ориентированные языки (Java, Python и др.) от языков процедурного программирования, в которых программа представляет собой последовательность команд, определяющих алгоритм решения задачи и преобразующих содержимое памяти от исходного состояния к результирующему.

Объект – это некоторая структура, соответствующая объекту реального мира, его поведению. Задачи, решаемые с использованием методики ООП,

21

описываются в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.

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

Однако любой объект является экземпляром класса. Классы объектов являются «шаблонами», определяющими наборы свойств, методов и событий, по которым создаются объекты. Объекты создаются с помощью ключевого слова new.

Например, кнопка button1, которая использовалась при создании приложения в предыдущем задании, является экземпляром класса Button. В

файле Form1.Designer.cs в строке

this.button1 = new System.Windows.Forms.Button();

был создан объект button1 класса Button с помощью ключевого слова new.

Здесь ключевое слово this представляет указатель на текущий объект данного класса (используя this рамках класса Form1, мы указываем, что кнопка button1 относится к классу Form1). Ключевое слово this здесь можно опустить.

Также здесь используется полное имя класса System.Windows.Forms.Button,

поскольку в файле Form1.Designer.cs не было подключено соответствующее пространство имён (не была использована соответствующая директива using в начале файла).

В программировании объект следует понимать как некоторую сущность, представляющую собой набор полей (свойств), методов и событий. Поля при этом можно рассматривать как аналог переменной,

которая может иметь некоторое значение (например, текст, отображаемый в текстовом поле). Свойство – это расширение понятия поле, связанное реализацией принципа инкапсуляции. Метод можно рассматривать как функцию или процедуру, то есть последовательность команд. Событие – как сообщение, возникающее при выполнении определённых условий (например,

нажатие на кнопку, начало либо завершение некоторого метода и т.п.)

22

Далее рассмотрим основные управляющие элементы, используемые при разработке интерфейсов оконных приложений, а также их свойства,

методы и события.

Form (экранная форма) – макет окна разрабатываемого приложения:

Основные свойства класса Form:

Свойство

Описание

 

 

 

 

Name

Имя формы

 

 

 

 

BackColor

Цвет фона формы

 

 

 

 

Text

Заголовок окна формы

 

 

 

 

Font

Атрибуты шрифта для всех компонентов формы

 

 

 

 

Основное событие класса Form:

 

 

 

 

 

 

 

Возникает при загрузке формы. В событийной процедуре

Load

 

 

 

 

Form1_Load обычно задают начальные параметры проекта.

 

 

 

 

Основные методы класса Form:

 

 

 

 

Hide

Скрыть форму

 

 

 

 

Show

Показать форму

 

 

 

 

 

 

 

 

 

 

 

 

Label (надпись) – элемент, используемый для нанесения надиси.

Основные свойства класса Label:

Свойство

Описание

 

 

Name

Имя объекта Label

 

 

Text

Заголовок надписи, выводимой на экран

 

 

Font

Шрифт, используемый для отображения текста

 

 

Visible

True – надпись видна, False – не видна

 

 

Основное событие класса Label:

 

 

Click

Щелчок левой кнопкой мыши на компоненте Label

 

 

23

TextBox (текстовое поле) – поле, используемое для ввода/вывода

чисел и текста.

Основные свойства класса TextBox:

Свойство

Описание

 

 

Name

Имя объекта TextBox

 

 

Text

Текст, отображаемый и редактируемый в строке ввода.

 

 

Font

Шрифт, используемый для отображения текста

 

 

MultiLine

Если True, то текстовое поле становится

 

 

многострочным

ScrollBar Наличие или отсутствие полос прокрутки

Основное событие компонента TextBox:

TextChangеd Происходит, когда пользователь изменяет текст

Button (командная кнопка) – элемент, исользуемый для задания реакции на событие.

Основные свойства класса Button:

 

Свойство

Описание

 

 

 

 

Name

Имя объекта Button

 

 

 

 

Text

Надпись на кнопке

 

 

 

 

Visible

True – кнопка видна на форме, False – невидна

 

 

 

 

Enabled

True – кнопка активна, False – неактивна.

 

 

 

 

Основное событие класса Button:

 

 

 

 

Click

Происходит, когда пользователь щелкает основной (левой)

 

 

 

 

кнопкой мыши на объекте.

 

 

 

24

PictureBox (графическое поле) – поле, предназначенное для

размещения графических элементов на форме.

Основные свойства класса PictureBox:

Свойство

Описание

 

 

 

 

 

 

Содержит имя графического

файла

с рисунком, имя

Image

 

 

 

 

задается с помощью диалогового окна Выбор ресурса

 

 

 

 

 

Задает видимость рисунка на

экране.

True – рисунок

Visible

 

 

 

 

виден, False – нет.

 

 

 

 

 

 

Чтобы вставить рисунок в элемент PictureBox необходимо изменить свойство Image: в открывшемся окне Выбор ресурса выбрать опцию

Файл ресурсов проекта, затем нажать на кнопку Импорт и в диалоговом окне выбрать необходимый рисунок. Имя рисунка станет доступным в списке ресурсов проекта (рис. 22), а также отобразится в графическом поле PictureBox на форме.

Рисунок 22 – Диалоговое окно Выбор ресурса

25

RadioButton (Переключатель) – элемент управления,

предназначенный для выбора только одной опции (одного действия) из группы.

Основные свойства компонента RadioButton:

Свойство

 

Описание

 

 

 

 

Name

Имя компонента

 

 

 

 

 

 

Имеет значения True (включен) или False (выключен).

Checked

 

 

 

 

По умолчанию имеет значение False.

 

 

 

 

 

 

 

 

 

 

 

 

CheckBox (Флажок) – элемент управления, с помощью которого можно выбирать одну или несколько опций, отмечая их галочкой.

Основные свойства компонента CheckBox:

Свойство

Описание

 

 

Name

Имя компонента

 

 

 

Имеет значения True (галочка есть) или False (галочки

Checked

 

 

нет). По умолчанию – значение False.

 

 

Panel (Панель) – панель для размещения на ней компонентов.

Используется для размещения групп RadioButton или CheckBox.

Если вы хотите объединить несколько объектов, используя панель, то сначала расположите на форме именно её, только затем добавьте на панель необходимые вам объекты.

26

Общее задание 4

Создайте самостоятельно интерфейс приложения, показанный на рисунке 23 (белый прямоугольник – элемент TextBox, серая пунктирная рамка, в которой расположены элементы RadioButton – это элемент Panel).

Напишите программный код, который при нажатии на кнопку button1

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

Рисунок 23 – Интерфейс для общего задания 4

Рисунок 24 – Результат работы приложения Шаг 1. Создайте новый проект.

27

Шаг 2. Измените форму, добавляя на неё соответствующие элементы управления.

Шаг 3. Для кнопки button1 создайте обработчик события нажатия на эту кнопку.

Шаг 4. В обработчике button1_Click запишите программный код,

позволяющий изменить свойства элементов управления и самой формы.

Например, для элемента флажок добавьте следующие строки:

checkBox1.Checked = true;

checkBox1.Text = "... для включения какой-то

опции";

Самостоятельно допишите остальной код для других элементов,

используя указанные выше теоретические сведения.

Обратите внимание, что ваш код должен быть написан внутри фигурных скобок:

private void button1_Click(object sender, EventArgs e)

{

// Ваш код должен быть написан здесь

}

Шаг 5. Запустите приложение и убедитесь в правильности его работы.

Задание 4 выполнено!

28

2.6 Основы языка C#

Алфавит – фиксированный для данного языка набор символов (букв,

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

В качестве символов в C# используются прописные и строчные буквы латинского алфавита, десятичные цифры, специальные символы:

+ -

*

/ % !

& >

< =

_ ; # “ ‘ ,

. ? ~ ^ \

: [ ]

|

{ } ( ) @

пробел

а также составные символы:

!= == <= >=

||&& // /* */

Лексема – единица текста программы, которая при компиляции воспринимается как единое целое и по смыслу не может быть разделена на более мелкие элементы.

В языке С# шесть классов лексем:

-служебные (ключевые) слова,

-пользовательские идентификаторы,

-константы,

-строки (строковые константы),

-операции (знаки операций),

-разделители (знаки пунктуации).

Служебные (ключевые) слова имеют фиксированные начертания и раз навсегда определенный смысл. Например: if, else, for, return, void, switch, do, while, int, float, string, char и т.д.

Идентификаторы пользователя служат для обозначения типов данных, констант, переменных, методов (процедур и функций),

определенных самим пользователем.

29

Правила именования пользовательских идентификаторов:

-Первым символом в имени должна быть либо буква, либо символ подчеркивания, либо символ @.

-Последующими символами могут быть буквы, символы подчеркивания или числа.

-Нельзя применять в качестве имени ключевые слова, которые

имеют для компилятора особый смысл.

Важно: С# регистрозависимый язык, переменная res, Res и RES – это разные

переменные.

Код на С# состоит из ряда операторов, каждый из которых оканчивается символом точки с запятой. В одной строке можно записать несколько операторов, один оператор можно разбить на несколько строк.

Дополнительные пробелы и пустые строки компилятором игнорируются.

С# является языком с блочной структурой, т.е. все операторы относятся к какому-то блоку кода. Блок отделяется от остальной части кода с помощью фигурных скобок { и }, между которыми может содержаться любое количество операторов или вообще ни одного.

Для обозначения комментариев используются символы /* и */, если комментарий занимает несколько строчек, и символы //, если комментарий занимает одну строку.

Например,

/* Это

комментарий */

// Это тоже комментарий

2.6.1Типы данных в C#

Все переменные и константы, используемые в программном коде,

необходимо объявлять, указывая их имена (индентификаторы) и типы хранимых в них данных. Основные типы данных, принадлежащие классу

System.Object, представлены в таблице

30