Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Обновление области клиента формы
Обновление области клиента формы
В ходе выполнения приложения GDI+ может возникнуть необходимость в явном вызове события Paint вместо ожидания того, что окно станет "естественно грязным". Например, вы создаете программу, которая позволяет пользователю выбрать подходящий рисунок из набора точечных изображений в пользовательском диалоговом окне. После закрытия диалогового окна нужна отобразить выбранный пользователем рисунок в области клиента формж. Очевидно, если ждать, когда окно станет "естественно грязным", пользователь не увидит изменений до того, как изменятся размеры окна или его часть откроется из-под другого окна. Чтобы вызвать перерисовку окна программно, просто вызовите наследуемый метод Invalidate().
public partial class MainForm: Form {
…
private void MainForm_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
// Здесь выполняется визуализация изображения.
}
private void GetNewBitmap() {
// Отображение диалогового окна и получение нового образа.
// Перерисовка клиентской области.
Invalidate();
}
}
Метод Invalidate() является перегруженным, чтобы вы могли указать прямоугольную область для перерисовки, а не перерисовывать все области клиента (что делается до умолчанию). Чтобы обновить только заданный прямоугольник слева вверху области клиента, вы можете использовать следующее.
// Перерисовка прямоугольной части формы.
private void UpdateUpperArea() {
Rectangle myRect = new Rectangle(0, 0, 75, 150);
Invalidate(myRect);
}
- Аватар идеального клиента
- Ускоренное обновление данных
- Глава 5 Агрессивные формы кода и борьба с ними
- Определение версии клиента
- 2.12.2. Анализ усилительных каскадов в области малых времен
- Снятие ответственности с клиента
- Приложение 21 Образец должностной инструкции начальника отдела по работе с сетевыми клиентами
- 4. Стадии бизнес-процесса взаимодействия с клиентами
- Запросы на обновление
- Настройка верхней области навигации
- Создание дочерней рабочей области
- 2.5. Активная и пассивная формы интеллектуальной деятельности