
- •Содержание
- •Тема 1. Введение в язык программирования c#
- •Первое знакомство с языком программирования с#
- •Языки программирования и компиляторы
- •Устройство компьютера
- •Процесс разработки программного обеспечения
- •Процесс исполнения программы на с#
- •Три различных типа ошибок
- •Знакомство с .Net
- •Синтаксические блоки
- •Тема 2. Синтаксис языка программирования с#, встроенные типы данных Алфавит языка программирования с#
- •Идентификаторы
- •Типы данных языка программирования с#
- •Встроенные простые типы языка c#
- •Совместимость целочисленных типов
- •Тема 3. Переменные, бинарные в языке программирования с# Присваивание значений переменным
- •Бинарные операции.
- •Операции сравнения и логические выражения
- •Алгоритм
- •Тема 4. Операторы ветвления Простой оператор if
- •Оператор if / else
- •Вложенные операторы if
- •Операторы if-else с несколькими ветвями
- •Оператор Switch
- •Рекомендации по использованию оператора switch
- •Область видимости переменных
- •Тема 5. Операторы итерации
- •Оператор цикла while
- •Оператор цикла do-while
- •Оператор цикла for
- •Оператор break
- •Оператор continue
- •Вложенные операторы итерации
- •Тема 6. Массивы Общие сведения
- •Перебор элементов массива Оператор for и foreach
- •????Методы для работы с массивами Многомерные массивы
- •?????Массивы неправильной формы Тема 7. Специальные типы
- •Работа со строками
- •Доступ к отдельным символам в строке.
- •Разработка алгоритма выборки слов
- •Некоторые методы для работы со строками.
- •Тема 8. Объектно-ориентированное программирование ооп основные понятия и предпосылки возникновения.
- •Концепции ооп
- •Убрать Сборки.
- •Элементы класса и применение методов
- •Тема 9. Методы Объявление методов.
- •Статические методы.
- •Конструкторы
- •Семестр 2. Визуальное программирование. Введение в проектирование графических интерфейсов
- •Формы в приложениях c# Работа с формами
- •Добавление формы к проекту
- •Выбор первоначального размещения формы
- •Изменение внешнего вида формы
- •Свойства BackColor, ForeColor и Text
- •Свойства Font, Cursor и BackGroundlmage
- •Прозрачность формы
- •Выбор рамки для формы
- •Кнопки изменения размеров формы
- •Добавление фонового изображения
- •Изменение формы курсора
- •Методы формы
- •Метод Show()
- •Метод ShowDialog()
- •Метод Activate()
- •Метод Hide()
- •Метод Close()
- •События формы.
- •События жизненного цикла формы
- •Событие Load
- •События Activated и Deactivated
- •Изменение текста надписи
- •Изменение шрифта
- •Цвет текста и фона
- •Рамка вокруг поля
- •Изменение курсора мыши
- •Выравнивание текста
- •Меню Добавление меню
- •Позиционирование элементов управления в форме
- •Привязка к сетке
- •Настройка взаимного расположения элементов формы
- •Выравнивание
- •Установка размеров
- •Установка промежутков между элементами
- •Шрифт на кнопке
- •Выравнивание текста
- •Стиль кнопки
- •Блокирование кнопки
- •Изображение на поверхности кнопки
- •Фоновое изображение для кнопки
- •Списки.
- •Список ListBox
- •Список CheckedListBox
- •Список DomainUpDown
- •Элемент управления NumericUpDown
- •Элемент управления TrackBar
- •Форма и клавиша табуляции
- •Установка порядка передачи фокуса при нажатии клавиши Tab
- •Свойство TabStop
- •Вложенные элементы управления и контейнеры
- •Применение элементов управления Group Box и Panel
- •Элемент управления TabControl
- •Стыковка и фиксация элементов управления
- •Свойство Anchor
- •Свойство Dock
- •Обработка событий
- •Проверка данных вводимых пользователем
- •Применение свойств элемента управления TextBox к проверке данных вводимых пользователем
- •Применение событий для проверки на уровне поля
- •События KeyDown и KeyUp
- •Событие KeyPress
- •Работа с фокусом ввода
- •Проверка на уровне формы
- •Оповещение пользователя об ошибках ввода
- •Компонент ErrorProvider
- •Отображение сообщений об ошибках
- •Тема Графика в c#.
- •Контекст отображения
- •Класс Graphics
- •Событие Paint
- •Тема Методы и свойства класса Graphics. Рисование геометрических фигур Рисование линии (DrawLine)
- •Набор линий (DrawLines)
- •Рисование прямоугольника(DrawRectangle )
- •Набор прямоугольников (DrawRectangles )
- •Рисование многоугольника (DrawPolygon)
- •Рисование эллипса(DrawEllipse )
- •Результат работы метода DrawEllipse Рисование сегмента эллипса (DrawArc)
- •Рисование замкнутого сегмента эллипса(DrawPie)
- •Рисование кривых Безье (DrawBezier и DrawBeziers )
- •Рисование канонических сплайнов (DrawCurve и DrawClosedCurve)
- •Рисование закрашенных фигур.
- •Тема. Инструменты для рисования
- •Инструмент для рисования перо (Pen) и его свойства
- •Инструмент для рисования кисть (Brush)
- •Кисть SolidBrush
Проверка данных вводимых пользователем
В ряде случаев необходимо проверять данные сразу же после их ввода, что позволяет осуществлять проверку полей по мере их заполнения. Далее рассмотрим каким образом применять события элементов управления для проверки вводимых данных, а также задавать интервалы допустимых входных значений при помощи некоторых свойств элемента управления TextBox.
Применение свойств элемента управления TextBox к проверке данных вводимых пользователем
Чаще всего для приема данных от пользователя применяется элемент управления TextBox. Некоторые из его свойств позволяют ограничивать диапазон значений, вводимых в текстовое поле, например: MaxLength, PasswordChar, Readonly, Multiline.
MaxLength
Свойство MaxLength ограничивает число символов, которые можно ввести в текстовое поле. Если пользователь попытается ввести больше символов, чем задано свойством MaxLength, текстовое поле не примет избыточные символы, а пользователь услышит звуковой сигнал. С помощью этого свойства удобно создавать поля для ввода значений фиксированной длины, например почтовых индексов.
PasswordChar
Свойство PasswordChar позволяет скрывать от посторонних глаз значение, вводимое во время выполнения. Например, если сделать значением свойства PasswordChar звездочку (*), текстовое поле будет отображать все вводимые пользователем символы как звездочки. Этот прием обычно используют для защиты паролей в окнах входа.
Для замены пароля вы можете назначить любой допустимый символ. Независимо от назначенного символа, свойство Text всегда содержит то значение, которое реально ввел пользователь.
ReadOnly
Свойство ReadOnly определяет, разрешено ли пользователю редактировать значение текстового поля. Если это свойство установлено в true, пользователю не удастся изменить отображаемый в поле текст, в противном случае значение текстового поля можно редактировать, как обычно.
Multiline
Свойство Multiline определяет, одна или много строк в поле. Если оно установлено в true, пользователь может вводить многострочный текст, завершая строки символом возврата каретки. Введенные строки сохраняются в виде строкового массива в наборе TextBox.Lines. Чтобы получить нужную строку, следует указать ее индекс в массиве.
Применение событий для проверки на уровне поля
Обработка событий, связанных с клавиатурой, на уровне поля позволяет немедленно проверять любые данные, вводимые пользователем. Элементы управления, способные принимать ввод с клавиатуры, генерируют следующие три события: KeyDown, KeyPress, KeyUp.
События KeyDown и KeyUp
Нажатие и освобождение любой клавиши сопровождается генерацией события KeyDown и KeyUp соответственно. Источником событий является элемент управления, обладающий фокусом ввода. Элемент управления, генерировавший событие, передает сведения о нажатой (или отпущенной) клавише (или сочетании клавиш) через экземпляр класса KeyEventArgs — класса, описывающего сочетание клавиш. В сигнатуре метода, обрабатывающего событие KeyDown или KeyUp, должен быть параметр типа KeyEventArgs.
Чаще всего события KeyDown и KeyUp используют, чтобы определить, нажаты ли клавиши Alt, Ctrl или Shift. Результат передается обработчику соответствующего события через ссылку на экземпляр класса KeyEventArgs. Его свойства Alt, Ctrl и Shift возвращают значения типа Boolean, указывающие, были ли нажаты соответствующие клавиши. Значение True свидетельствует о том, что клавиша была нажата, а false — о том, что нет. Ниже показан пример обработчика события KeyDown, проверяющего нажатие клавиши Alt:
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt == true)
MessageBox.Show("Нажата кнопка ALT!!!");
}
Свойство KeyEventArgs.KeyCode позволяет определить, какая именно клавиша спровоцировала событие. Это свойство возвращает код нажатой или отпущенной клавиши (соответственно при событиях KeyDown или KeyUp). Ниже показан пример простого обработчика события, отображающего сообщение с кодом нажатой клавиши:
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("Нажата кнопка: " + e.KeyCode.ToString());
}