
- •Теоретические сведения: Проблемы разработки современных ис
- •Решение проблем разработки информационных систем в .Net
- •Общеязыковая исполняющая среда (Common Language Runtime)
- •Утилиты .Net Framework
- •Основные утилиты .Net Framework
- •Утилиты .Net Framework для отладки приложений
- •Утилиты .Net Framework по работе с защитой приложений
- •Утилиты .Net Framework для настройки и установки приложений
- •Сборки в среде clr
- •1 Общие сведения о сборках
- •2 Содержимое сборок
- •3 Манифест сборки
- •4 Размещение сборок
- •Visual Studio .Net – открытая среда разработки.
- •Среда Microsoft Visual c# 2005 Express Edition
- •Структура программы в c#.
- •Пример 1. Программа FirstProject
- •Пространство имен.
- •Создание и запуск проекта.
- •Практична робота № 2 Введення в Windows Forms
- •Ход работы (первой части лабораторного занятия).
- •Теоретические сведения:
- •Создание Windows-приложений
- •Окно кода программы
- •Роль класса Application
- •Свойства проекта
- •Запуск приложения
- •Что такое форма
- •Windows Forms в технологии .Net
- •Функциональные возможности класса Form
- •Цикл существования объекта Form
- •Диалог MessageBox
- •Закрытие формы (Выход из формы)
- •Создание mdi-приложений.
- •Стандартный делегат
- •1 Часть
- •2 Часть
- •Теоретические сведения.
- •Форматирование строки вывода.
- •Консольный ввод.
- •Расширяющее преобразование.
- •Сужающее преобразование
- •Метод Parse().
- •Класс System.Environment. Окружение.
- •Система типов
- •Простые (элементарные) типы
- •Перечисления
- •Структуры
- •Язык xml
- •Практична робота № 4 Огляд мови с #. Змінні. Структури мови Цель: освоить синтаксис языка программирования с#, закрепить практически использование структур языка. Ход выполнения работы:
- •Теоретические сведения. Базовый синтаксис с#
- •Литералы. Представление значений.
- •Арифметические литералы
- •Логические литералы
- •Символьные литералы
- •Символьные управляющие последовательности.
- •Строковые литералы
- •Переменные.
- •Объявление и инициализация.
- •Область видимости.
- •Константы
- •Операции и выражения
- •Контроль за переполнением. Checked и unchecked.
- •Операция is
- •Операция as
- •Особенности выполнения арифметических операций
- •Особенности арифметики с плавающей точкой
- •Управляющие операторы
- •Теоретические сведения: Иерархия классов. Понятие класса управляющих элементов.
- •Класс Control
- •Элемент управления TextBox
- •Класс Button
- •Элемент управления CheckBox
- •Переключатели и группирующие рамки
- •Элемент управления CheckedListBox
- •Комбинированные списки
- •Управляющий элемент ImageList
- •Элемент управления MonthCalendar
- •Элемент управления Panel
- •Порядок перехода по Tab
- •Форматирование элементов управления
- •Свойства Anchor и Dock
- •Всплывающие подсказки (ToolTips)
- •Создание меню
- •Главное меню.
- •Контекстное меню
- •Создание строки состояния
- •Создание пользовательского диалогового окна.
- •Стандартные диалоговые панели общего назначения.
- •II Задание Expression в таблице, используя визуальные средства разработки.
- •Теоретические сведения:
- •1 Класс DataSet.
- •1.1 Класс DataTable (таблицы)
- •1.1.1 Столбцы (объект Columns).
- •1.1.2 Строки (объект Row)
- •Добавление данных.
- •Заполнение полей.
- •Изменение данных.
- •Состояния строки.
- •Обработка событий
- •Привязка DataTable к некоторым элементам управления.
- •1.1.3 Ограничения (объект Constraints)
- •1.1.4 Представление (объект DataView).
- •1.2 Класс DataRelation (связи между таблицами)
- •2 Просмотр данных. Класс DataGridView.
- •Источники данных (DataSource).
- •2.1.1 Отображение данных из массива
- •2.1.2 Отображение данных из DataTable
- •2.1.3 Отображение данных из DataView
- •2.1.4 Отображение данных из класса DataSet
- •2.1.5 Отображение данных из массива
- •2.2 Привязка данных (DataBinding).
- •Простая привязка.
- •Объекты привязывающие данные (BindingContext)
- •3 Схемы xml.
- •3.1 Пример использования xml-формата для взаимодействия с xml Web-службами:
- •3.2 Ado.Net 2.0 тесно интегрировано с xml.
- •4 Xsd (xml Structure Defenitions) схема.
- •4.1 Описание.
- •4.2 Основные элементы
- •4.3 Использование Visual Studio 2005 .Net
- •4.3.1. Загрузка схем и данных в DataSet
- •4.3.2 Запись схемы и данных из DataSet
- •Практична робота № 7 Використання масивів і їх методів в c # Цель: овладеть возможностью использования массивов, строк и их методов.
- •Массив.
- •Объявление массивов Объявление одномерных массивов
- •Многомерные массивы
- •Пример использования массивов.
- •Массивы массивов
- •Встроенный сервис по обслуживанию массивов
- •Практична робота № 8 Використання колекцій в c # Цель: овладеть возможностью использования коллекций.
- •Коллекции.
- •ArrayList. Массив-список.
- •Практична робота № 9 Об'єкти і класи в с # Цель: четко разграничить понятия класса, объекта.
- •Поля класса
- •Методы класса
- •Объект.
- •Конструктор.
- •Деструктор.
- •Операция new
- •Вложенные классы.
- •Ссылки как параметры.
- •Оператор is
- •Оператор as
- •Переменные только для чтения и константы.
- •Ключевое слово static.
- •Практична робота № 10 Успадкування. Інкапсуляція. Поліморфізм Цель: практически освоить основные принципы ооп. Ход работи:
- •1 Часть. Изучение принципов наследования и инкапсуляции.
- •2 Часть. Изучение принципа полиморфизма.
- •Теоретические сведения.
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Виртуальные методы и работа с ними в производных класах.
- •Интерфейсы.
- •Практична робота № 11 Робота з файлами в с # Цель: овладеть возможностью считывания/записи данных из/в файл.
- •Потоки: байтовые, символьные, двоичные
- •Общая характеристика классов потоков
- •Класс Filestream
- •Открытие и закрытие файла.
- •Копирование файла.
- •Файловый ввод–вывод с ориентацией на символы.
- •Пример использования StreamWriter.
- •Пример использования StreamReader.
- •Пример перенаправления потоков.
- •Основні поняття, що використовуються при проектуванні діалогу.
- •Основна термінологія, що використовується при проектуванні вікон. Визначення вікон, типи вікон.
- •Спосіб проектування інтерфейсу користувача з орієнтацією на дані.
- •Спосіб проектування інтерфейсу користувача з орієнтацією на документи.
- •Вибір моделі інтерфейсу.
- •Розробка вікна.
- •Теоретичні відомості.
- •Поле вибору: визначення, стан, типи.
- •Поле вибору: представлення об’єктів, ідентифікація поля.
- •Поле вибору: курсор вибору, виділення обраного об’єкту, недоступність об’єкту вибору, черговість розташування, елементи настроювання.
- •Взаємодія користувача з полями вибору, первісні представлення, вхідний стан.
- •Поле введення: визначення, ідентифікація, роздільники, шрифт, правила читабельності.
- •Теоретичні відомості. Меню дій, спадаюче меню: призначення, розташування, обов’язкові опції, число опцій.
- •Послідовність опцій курсору.
- •Елементи настроювання і виклик опцій.
- •Особливості режимів роботи для одного користувача і багатьох користувачів.
- •Спливаюче меню.
- •Область функціональних клавіш.
- •Теоретичні відомості.
- •Область команд: розміщення, зміст, використання, правила запиту дії “Команда”.
- •Правила для дій “Витяг команди”, правила для дії “Підказка”.
- •Співвідношення між областю команд і меню дій.
- •Практична робота № 16 Створення графічних додатків в с #
- •Практична робота № 17 Створення графічних примітивів
2.1.4 Отображение данных из класса DataSet
C DataSourse = DataSet можно выполнить навигацию по отношениям внутри DataSet в пределах одного экрана.
Слева от каждой записи появляется знак «+», что указывает на управляемое отношение между заказчиками и заказами. При щелчке на знаке «+», отображается список отношений (скрывается, если он был ранее отображен). Щелчок на имени отношения позволяет перейти к связанным записям.
Открывшийся элемент управления DataGrid также включает пару новых пиктограмм в правом верхнем углу. Пиктограмма со стрелкой влево позволяет перейти к родительской записи и возвращает экран к первоначальному раскрытому состоянию, чтобы показать/скрыть детальную информацию о родительской записи в строке заголовка.
2.1.5 Отображение данных из массива
IListSource имеет только один метод – GetList(), который возвращает интерфейс IList. В свою очередь IList реализуют многие классы, такие как Array, ArrayList и StringCollection.
Предупреждение: если источник данных DataGrid служит StringCollection, то в визуальной таблице отображаются длины строк, а не их текст.
2.2 Привязка данных (DataBinding).
Процесс связывания элемента управления с источником данных называется привязкой данных (data binding). В технологии .NET можно связать данные с большинством свойств элемента управления, а не только с отображаемым текстом.
Простая привязка.
Элемент управления, поддерживающий простую привязку, обычно отображает одно значение за раз, как это делает текстовое поле или переключатель. Рассмотрим на примере, как можно связать столбец из DataSet с TextBox:
DataSet ds = CreateDataSet();
textBox1.DataBindings.Add("Text", ds, "Products.ProductName");
Вывод данных в текстовое поле без возможности прокрутки не всегда удобен. Чтобы избежать подобных неудобств используются объекты, привязывающие данные.
Объекты привязывающие данные (BindingContext)
Иерархия классов объектов, обеспечивающих привязку данных, приведена на рисунке 6.4. Объекты, используемые для привязки, выделены серым.
Рисунок 6.4– Иерархия классов объектов, обеспечивающих привязку данных.
Свойство DataBinding – это экземпляр класса ControlBindingsCollection
textBox1.DataBindings.Add("Text", ds, "Products.ProductName");
Эта строка привязывает объект Binding к ControlBindingsCollection. Метод Add() создает новый экземпляр объекта Binding на основании параметра, переданного методу, и добавляет его к коллекции привязок.
BindingContext
Каждая форма Windows Form имеет свойство BindingContext. Объект BindingContext включают коллекцию экземпляров BindingManagerBase (рисунок 6.5). Эти экземпляры создаются и добавляются к объекту диспетчера привязки в момент связывания элемента управления с данными.
Рисунок 6.5
BindingContext может включать несколько источников данных, помещенных в оболочку либо CurrencyManager, либо PropertyManager. Решение о том, какой именно класс использовать, основывается на самом источнике данных.
Если источник данных включает список элементов, такой как DataTable, DataView, или же любой объект, реализующий интерфейс IList, применяется CurrencyManager. CurrencyManager может поддерживать текущую позицию внутри источника данных. Если же источник данных возвращает только одно значение, в BindingContext помещается PropertyManager.
Для конкретного источника данных CurrencyManager или PropertyManager создается лишь однажды. Если два текстовых поля привязаны к строке DataTable, в контексте привязки будет создан только один CurrencyManager.
Каждый элемент управления, добавленный к форме, связывается с менеджером привязки формы, так что все элементы управления разделяют один и тот же его экземпляр. Когда элемент управления создается, его свойство BindingContext равно null. Когда же он добавляется к коллекции Controls формы, его свойство BindingContext устанавливается равным BindingContext формы.
Рисунок 6.6– Добавление к Сontroll объекта Binding
Рисунок 6.6 примерно иллюстрирует, что происходит, когда объект Binding добавляется к Control. Привязка устанавливает связь между элементом управления и источником данных, которая поддерживается внутри BindingContext формы (или самого элемента управления). Изменение внутри источника данных отображаются в элементе управления, как если бы они были выполнены в нем самом.
Binding
Этот класс связывает свойство элемента управления с членом источника данных. Когда член изменяется, свойство элемента управления обновляется, чтобы отобразить это изменение. Также верно противоположное – если обновляется текст в текстовом поле, это изменение отображается в источнике данных.
Привязка может быть выполнена из любого столбца на любое свойство элемента управления.
CurrencyManager и PropertyManager
При создании объекта Binding, также создаются соответствующие объекты CurrencyManager и PropertyManager, предоставляя возможность первоначальной привязки данных источника. Назначение этого класс – определять позицию текущей записи внутри источника данных, а также координировать все первоначальные привязки при изменении текущей записи.