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

1432

.pdf
Скачиваний:
1
Добавлен:
07.01.2021
Размер:
1.15 Mб
Скачать

4.4. Задания на тему «Чтение данных из бинарного файла»

Создать консольное приложение, читающее данные из бинарного файла в два массива. Использовать в качестве тестовых данных файл, созданный в работе на тему «Запись данных в бинарный файл». В табл. 4.4 указаны типы данных, которые должны быть использованы в программе.

Таблица 4.4

Варианты заданий на тему «Чтение данных из бинарного файла»

Вариант

Массив 1

Массив 2

1

char

short

2

char

integer

3

char

long

4

char

single

5

char

double

Вариант

Массив 1

Массив 2

6

byte

short

7

byte

integer

8

byte

long

9

byte

single

10

byte

double

Порядок выполнения лабораторной работы

Создать новый проект – консольное приложение.

Добавить необходимый программный код.

Компилировать программу.

Создать бинарный файл с исходными данными.

Тестировать программу.

Создать документ с описанием работы программы.

49

5.ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ

5.1.Примеры визуальных компонентов

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

проекта

вы

указываете Приложение

Windows Forms, то

автоматически

генерируется стандартная форма, на которой

можно

разместить все

необходимые визуальные компоненты. В

левой

части

рис. 5.1

отображена часть

компонетов Панели

элементов, которая открывается щелчком мыши.

Рис. 5.1. Панель с визуальными компонентами

Например, компонент Label предназначен для вывода сообщений. Текст сообщения присваивается свойству Text компонента. В табл. 5.1 перечислены некоторые визуальные компоненты.

50

Таблица 5.1

 

Примеры визуальных компонентов

Компонент

Описание

 

 

Button

Управляющая кнопка

 

 

CheckBox

Флажок для выбора

 

 

ComboBox

Список с полем для ввода строки

 

 

Label

Поле для вывода строки

 

 

ListBox

Поле со списком

 

 

PictureBox

Поле для вывода рисунка

 

 

RadioButton

Переключатель для выбора одного из вариантов

 

 

TextBox

Поле для ввода строки

 

 

Свойства и параметры компонентов можно указывать непосредственно при построении формы в окне обозревателя свойств. После построения интерфейса в проект добавляют программный код обработки событий. Например, для добавления обработки события «щелчок по управляющей кнопке» нужно дважды щелкнуть по данной кнопке в конструкторе форм, а затем ввести соответствующий код в открывшуюся функцию. Программа, созданная после компиляции проекта, открывается в типичном для Windows окне. Вид и поведение компонента определяют его свойства, которые можно изменять как в программе, так и в конструкторе формы. В табл. 5.25.8 приводятся важнейшие свойства перечисленных выше компонентов.

Таблица 5.2

 

Свойства компонента Form

Name

Имя формы

Text

Строка заголовка

Size

Размер (width – ширина, height – высота)

FormBorderStyle

Тип формы

ControlBox

Управление кнопками в строке заголовка

Icon

Значок в строке заголовка

Font

Шрифт для объектов на форме (по умолчанию)

ForeColor

Цвет символов у всех объектов на форме

BackColor

Цвет фона

51

Таблица 5.3

 

 

Свойства компонента TextBox

 

Text

Текст в поле ввода

 

MaxLength

Количество символов

 

PasswordChar

Символ, отображаемы при вводе пароля

 

MultiLine

Несколько строк

 

ReadOnly

Запрет редактирования

 

Dock

Привязка к форме

 

Lines

Массив строк

 

ScrollBars

Полосы прокрутки

 

 

Таблица 5.4

 

 

Свойства компонента Label

 

 

 

 

 

Text

Отображаемый текст

 

AutoSize

Автоматическое изменение размера

 

TextAlign

Выравнивание текста

 

BorderStyle

Вид рамки

 

 

Таблица 5.5

 

 

Свойства компонента Button

 

 

 

 

 

FlatStyle

Стиль кнопки

 

Enabled

Доступность кнопки

 

 

Visible

Видимость кнопки

 

 

Cursor

Вид указателя мыши

 

 

Image

Картинка на кнопке

 

 

ToolTip

Подсказка рядом с кнопкой

 

 

 

Таблица 5.6

 

Свойства компонентов CheckBox и RadioButton

 

 

 

 

 

Text

Текст справа от кнопки

 

Checked

Состояние кнопкп

 

 

AutoCheck

Автоматическое изменение состояния переключателя

 

 

FlatStyle

Стиль переключателя

 

 

Appearance

Вид переключателя

 

 

 

Таблица 5.7

 

 

Свойства компонента ListBox

 

 

 

 

 

Items

Список строк

 

SelectedIndex

Номер выбранного элемента

 

 

Sorted

Автоматическая сортировка

 

 

SelectionMode

Режим выбора

 

 

MultiColumn

Несколько колонок

 

52

Таблица 5.8

 

Свойства компонента ComboBox

Text

 

Текст на кнопке

DropDownStyle

 

Вид компонента

Items

 

Список строк

Items.Count

 

Количество строк

SelectedIndex

 

Номер выбранной строки

Sorted

 

Автоматическая сортировка

MaxDropDownItems

 

Количество отображаемых строк

DropDownWidth

 

Ширина области списка

Свойства и параметры компонентов можно указывать непосредственно при построении формы в окне обозревателя свойств. После построения интерфейса в проект добавляют программный код обработки событий.

Пример программы

В программе создана функция Goroskop, которая в зависимости от значения глобальной переменной God выбирает название года и соответствующий рисунок, а также отображает эту информацию на форме в компонентах TextBox, Label, PictureBox. Номер выбора определяется с помощью формулы God Mod 12 + 1, где оператор Mod означает получение остатка от деления. Чтобы целое число разместить в поле TextBox, его преобразуют в строку с помощью метода ToString. Для размера рисунка выбирают свойство StretchImage, означающее, что он будет подогнан по размерам окна

PictureBox.

‘ Пример 5.1

Dim n As Integer

n = God Mod 12 + 1 TextBox1.Text = God.ToString()

PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

Затем функция выбирает название года и соответствующий рисунок с помощью оператора выбора Select-Case-End Select. Изображение в поле PictureBox загружается с помощью метода

System.Drawing.Image.FromFile.

‘ Пример 5.2

PictureBox1.Visible = True Select Case (n)

53

Case 1

Label1.Text = "Бык"

PictureBox1.Image = System.Drawing.Image.FromFile("1.jpg")

Case 2

Label1.Text = "Тигр"

PictureBox1.Image = System.Drawing.Image.FromFile("2.jpg")

Case Else

Label1.Text = "Неизвестен"

PictureBox1.Visible = False

End Select

При открытии формы в процедуре Form1_Load глобальной переменной god присваивается значение 2009, после чего вызывается функция goroskop, отображающая информацию, соответствующую числу 2009. Свойству SizeMode компонента PictureBox присваивается значение Zoom, означающее пропорциональную подгонку рисунка под размеры компонента.

God = 2009 goroskop()

PictureBox1.SizeMode = PictureBoxSizeMode.Zoom

В функциях Button1_Click и Button2_Click значение переменной God уменьшается или увеличивается на 1. Это изменение отображается на форме с помощью функции goroskop. Изменить величину переменной можно непосредственно в поле TextBox, после чего также вызывается функция goroskop. Для преобразования строки из поля TextBox в целое число используется метод ToInt32 класса

Convert.

‘ Пример 5.3

if TextBox1.Text.Length > 0 Then God = Convert.ToInt32(textBox1.Text) goroskop()

End If

5.2. Задание на тему «Визуальные компоненты»

Создать приложение Windows Forms, осуществляющее выбор рисунков и текстовых строк, например «Гороскоп». Обязательно использовать компоненты Label, Button, TextBox, PictureBox, а также оператор выбора Select.

54

Порядок выполнения лабораторной работы

Создать новый проект – приложение Windows Forms.

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

Добавить программный код обработки событий.

Компилировать программу.

Тестировать программу.

Создать документ с описанием работы программы.

5.3. Управляющие визуальные компоненты

Для управления работой программы в Visual Studio предлагаются множество визуальных компонентов, в том числе, управляющие кнопки, радиокнопки, меню, списки и др. Для того, чтобы пользоваться списком ListBox

необходимо иметь возможность размещать в нем строки для выбора, определять номер и текст выбранного пункта, сортировать строки списка. В табл. 5.9 приведены некоторые методы, предназначенные для работы со списком ListBox (рис. 5.2).

 

Рис. 5.2. Список ListBox

 

Таблица 5.9

Методы, предназначенные для работы со списком ListBox

 

 

 

Метод

Описание

GetSelected(номер)

Выбран ли пункт с указанным номером

 

SelectedIndex

Номер выбранного пункта

 

SetSelected(номер, true|false)

Установить или отменить выбор пункта

 

Sorted

Сортировка строк

 

Text

Текст выбранной строки

 

TopIndex

Номер первой видимой строки

 

ToString()

Преобразование в тип String

 

Аналогичное назначение имеет список CheckedListBox, который отличается от ListBox тем, что слева от строк в нем имеются поля для отметки пунктов галочкой (рис. 5.3).

55

Рис. 5.3. Список

CheckedBox

Текстовые меню понятны и удобны для пользователя. После размещения на форме компонента MenuStrip пользователю предлагаются возможные продолжения описания пунктов меню, новые пункты

добавляются щелчком мыши. После создания пункта выполняется добавление обработки события «Выбор пункта меню», которое начинается с двойного щелчка по созданному пункту (рис. 5.4).

Рис. 5.4. Компонент MenuStrip

Примеры работы со свойствами компонентов

Во фрагменте, представленном ниже, в имеющийся список ListBox добавляются 3 строки текста. После добавления один пункт (номер 0) выделяется. Отметим, что нумерация пунктов начинается с нуля.

‘ Пример 5.4

ListBox2.BeginUpdate() ListBox2.Items.Add("Авангард") ListBox2.Items.Add("Локомотив") ListBox2.Items.Add("Металлург") ListBox2.EndUpdate() ListBox2.SetSelected(0, true)

Во втором фрагменте в функции, обрабатывающей событие «Выбор в списке», определяются номер и текст выбранного пункта. Затем проверяется, выбран или нет пункт 4, а также определяется номер первого пункта, видимого в окне списка.

‘ Пример 5.5

Label1.Text = ListBox1.Text

56

Label2.Text = ListBox1.SelectedIndex.ToString()

Label3.Text = ListBox1.GetSelected(4).ToString()

Label4.Text = ListBox1.TopIndex.ToString()

5.4. Задание на тему «Управляющие визуальные компоненты»

Создать приложение Windows Forms, осуществляющее выбор рисунков и текстовых строк с помощью меню и списка. Обязательно использовать компоненты ListBox, MenuStrip, а также оператор выбора Select Case.

Порядок выполнения лабораторной работы

Создать новый проект – приложение Windows Forms.

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

Добавить программный код обработки событий.

Компилировать программу.

Тестировать программу.

Создать документ с описанием работы программы.

5.5. Использование визуальных компонентов

Для того чтобы сделать какой-либо компонент активным, достаточно щелкнуть по нему мышью. В случаях, когда выгоднее программно передать состояние активности или «фокус» компоненту, необходимо выполнить команду, аналогичную указанной ниже. После данной команды поле ввода станет активным и в нем появится курсор ввода текста.

TextBox1.Focus()

Ряд компонентов предполагают выбор из нескольких вариантов. Иногда имеет смысл выбрать их программно. Ниже приводятся команды выбора компонентов CheckBox и RadioButton. После выполнения этих команд в соответствующих компонентам квадратике и кружочке появятся значки выбора.

CheckBox1.Checked = true RadioButton1.Checked = true

Для выбора произвольной строки компонента ComboBox нужно указать ее номер, учитывая, что нумерация начинается с нуля. В

57

примере ниже выбирается первая строка (ее номер равен 0). Текст выбранной строки появится в поле выбора. ComboBox1.SelectedIndex = 0

Иногда после некоторых событий требуется временно прекратить доступ пользователя к некоторому компоненту. Для этого нужно присвоить свойству Enabled значение false, как в примере ниже. Вернуть доступ к компоненту можно, присвоив этому свойству значение true.

TextBox1.Enabled = false

Компоненты, предназначенные для ввода и отображения информации TextBox, Label и др., содержат строковые данные. Числовые величины, размещаемые в Label, необходимо преобразовать в строковые. В первой строке ниже значение целочисленной переменной отображается как целое без дробной части, а во второй строке – как «коммерческое» с двумя знаками после десятичной точки и буквой «р» в конце.

Label1.Text = n.ToString() Label2.Text = n.ToString(“c”)

Для того чтобы определить, есть ли информация в поле ввода, можно проверить его длину, например:

If (TextBox1.Length>0) Then

Как было сказано выше, поле ввода TextBox содержит строковые данные. Если вводится число, то эти строковые данные необходимо преобразовать в соответствующий числовой тип. В примере, представленном ниже, команда в первой строке преобразует строку в целый тип, во второй – в вещественный с двойной точностью.

Dim n As Integer = Convert.ToInt32( textBox1.Text ) Dim x As Double = Convert.ToDouble( textBox1.Text )

Нужно отметить, что при вводе вещественного числа в TextBox целая часть от дробной отделяется запятой.

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

Close()

58

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]