- •Графический интерфейс пользователей
- •Объектная модель программы
- •Основной элемент графического интерфейса – окна (windows)
- •Отношения между окнами
- •Типы окон
- •Программирование графического интерфейса (gui)
- •Содержание окна
- •Контекстное меню (ContextMenuStrip)
- •Библиотека api функций для рисования gdi32.Dll
- •Основной класс рисования Graphics
- •Основные методы класса Graphics
- •Получение объекта Graphics
- •Событие Paint
- •Выполнение рисования
- •Система координат. Система координат и единиц измерения
- •Классы для описания геометрических объектов
- •Операции с изображениями
- •Курсор мыши
- •Основные события устройства «мышь»
- •Размер окна
- •Свойство Anchor
- •Компоненты
- •Элементы управления для работы с принтером – Printing
- •Автоматизация создания программы
- •Окно списков ListBox
- •Коллекция элементов ListBox
- •Комбинированные окна ComboBox
- •Элемент CheckedListBox
- •Класс PictureBox
- •Элемент управления WebBrowser
- •Элемент управления ProgressBar
- •Элемент NumericUpDown
- •Подсказки – ToolTip
- •Процессы и потоки
- •Виды многопоточности:
- •Преимущества многопоточности
- •Случаи использования многопоточности:
- •Потоки в с#
- •Основные статические свойства:
- •Недостатки многопоточности
- •Методы управления потоками
- •Свойства потока.
- •Приоритеты потоков
- •Передача данных в ThreadStart
- •Управление потоками
- •Ресурсы, требующие синхронизации:
- •Простейшие методы блокировки.
- •Оператор lock
- •Класс Interlocked
- •Класс Monitor
- •Классы ManualResetEvent и AutoResetEvent
- •Атрибут [Synchronization]
- •Константы:
- •Минимально необходимые действия для использования BackgroundWorker:
- •Чтобы добавить отображение выполнения операции:
- •Чтобы иметь возможность отмены операции:
- •Задачи (класс Task)
- •Статусы задачи
- •Применение идентификатора задачи
- •Методы ожидания завершения задачи
- •Класс TaskFactory
- •Работа с данными в задаче
- •Вложенные задачи.
- •Механизм отмены задач.
- •Создание продолжения задачи
- •Шаблоны параллелизма Parallel
- •Метод For()
- •Досрочный выход из цикла
Подсказки – ToolTip
Небольшое прямоугольное окно с пояснительными текстом
Нужно добавить к форме элемент ToolTip
Для отображения надо
В обработчике события Form1_Load для элементов управления к которым нужно добавить пояснение вызвать метод
void SetToolTip(Control cntl, string strTip)
Или в свойствах элементов формы задать текст
Для удаления подсказки вызвать метод
void SetToolTip(Control cntl, null)
Элементы управления DataTimePicker и MonthCalendar
MonthCalendar – выбор даты или интервала дат
Событие DateChanged (параметр - DateRangeEventArgs е.Start и e.End)
DataTimePicker – для выбора одной даты (Value)
или одного значения времени (ShowUpDown – true; Format - Time)
Класс таймер – Timer
Инициирует события через заданные интервалы времени
Свойства
int Interval (миллисекунды)
bool Enabled
Методы
void Start () – начать работу
void Stop () – закончить работу
Событие
event EventHandler Tick
Контейнеры
GroupBox – группа элементов
Panel – панель с элементами
SplitContainer – разделяемый контейнер
TabControl – панели с закладками
TableLayoutPanel – табличная разметка
Связывание ЭУ с данными
Выполняется для ЭУ ListBox, ComboBox.
Используется свойство DataSource.
Для связывания нужно задать значение
DataSource = <массив/коллекция>
Отображаемое значение - свойство
DisplayMember = “имя свойства класса (не поле)”
Используемое значение - Свойство
ValueMember=“имя свойства класса (не поле)”
Методы класса Form
Методы управления окном
Show() – показать окно
Hide() – спрятать окно
Close() – закрыть окно
Методы обработки событий – созданные и подключенные обработчики событий
Paint –
Load –
Resize -
OnPaint(object, PaintEventArgs)
Параллельные вычисления
Изменения в архитектуре процессоров, связанные с процессом распараллеливания
Векторные и матричные процессоры. В набор команд таких процессоров включаются базисные операции над векторами и матрицами. Одной командой, например, можно сложить две матрицы. Такая команда фактически реализует параллельные вычисления.
Длинные команды. Архитектура некоторых компьютеров включала несколько процессоров, позволяющих выполнять логические и арифметические операции над целыми числами, несколько процессоров, выполняющих операции над числами с плавающей точкой. Длинная команда позволяла указать в одной команде действия, которые должен выполнить каждый из существующих процессоров. Это позволяло реализовать параллелизм на аппаратном уровне.
Графические процессоры. Еще одним важным видом приложений, где на аппаратном уровне происходит параллельное выполнение, являются приложения, интенсивно работающие с графическими изображениями. Эту обработку осуществляют графические процессоры. Поэтому графические процессоры давно уже стали многоядерными, что позволяет распараллелить обработку и эффективно обрабатывать изображение.
Суперкомпьютеры. К суперкомпьютерам относят компьютеры с максимальными характеристиками производительности на данный момент. В их состав входят сотни тысяч процессоров.
