Как я могу предотвратить попадание дочернего окна MDI под панель инструментов?

У меня есть приложение MDI с дочерними окнами. Пользователь может переместить строку заголовка дочернего окна достаточно высоко, чтобы она располагалась под панелью инструментов приложения, а блок управления окном был скрыт, что сделало невозможным его закрытие. Иногда бывает так мало места, чтобы «схватить» окно и оттянуть его назад, что пользователю приходится полностью перезапускать приложение. Как я могу ограничить расположение дочернего окна MDI, чтобы оно останавливалось, когда оно натыкается на нижнюю часть панели инструментов родительского MDI?

Если это слишком сбивает с толку, вот упрощенная версия: как я могу ограничить перемещение дочерней формы MDI определенной частью экрана или родительской формы?


person Chris McCall    schedule 17.06.2011    source источник


Ответы (1)


Зарегистрируйтесь в событии Move дочернего MDI и убедитесь, что Top больше 0.
Между прочим, когда я перемещаю дочерний элемент MDI слишком высоко, я получаю полосу прокрутки, позволяющую мне прокручивать вверх.

person Vercas    schedule 17.06.2011
comment
Как мне отменить попытку переместить форму? - person Chris McCall; 18.06.2011
comment
Имейте в виду, что наименьшее значение равно 0. Итак, Top = 0; означает первый пиксель на дисплее. - person Vercas; 18.06.2011