ВУЗ:
Составители:
Рубрика:
73
внешнего вида, например, с помощью векторного значка X, прорисовыва-
емого на красной поверхности.
5.8.3. Перемещение окон нестандартной формы
Одним из ограничений окон нестандартной формы является то, что в
них отсутствует неклиентская область со строкой заголовка, позволяющая
пользователю легко перетаскивать окно по рабочему столу. В Windows
Forms это было весьма сложной задачей — приходилось либо обеспечи-
вать реакцию на события мыши MouseDown, MouseUp и MouseMove и пе-
ремещать окно вручную при выполнении пользователем щелчка и пере-
таскивания. В WPF эта задача решается гораздо легче за счет того, что в
любое время можно инициировать режим перетаскивания окна путем вы-
зова метода Window.DragMove().
Для того чтобы позволить пользователю перетаскивать окно не-
обычной формы, которое было показано в примере выше, необходимо
просто добавить и обработать для окна или того элемента в этом окне, ко-
торый впоследствии будет выполнять роль строки заголовка, событие
MouseLeftButtonDown:
<TextBlock Text="Title Bar" Margin="1" Padding="5" MouseLeftBut-
tonDown="titleBar_MouseLeftButtonDown"></TextBlock>
К обработчику события потребуется добавить только одну строку
кода:
private void titleBar_MouseLeftButtonDown(object sender, MouseButtonEventArgs
e)
{
this.DragMove();
}
Теперь окно будет следовать за курсором мыши по экрану до тех
пор, пока пользователь не отпустит кнопку мыши.
5.8.4. Изменение размеров окон нестандартной формы
Изменение размеров окна нестандартной формы — задача не про-
стая. Если форма окна хотя бы немного напоминает прямоугольник,
Страницы
- « первая
- ‹ предыдущая
- …
- 72
- 73
- 74
- 75
- 76
- …
- следующая ›
- последняя »