2009-05-09 3 views
2

Я хотел бы, чтобы мое программное обеспечение отображало окно учебника при первом запуске и чтобы оно выглядело «заблокировано» в правой части главного окна, так что всякий раз, когда я перемещаю главное окно, ребенок будет следовать. Как я могу это сделать?Как заблокировать окно на другое? [winforms]

ответ

4

Как уже упоминалось, John Gietzen, вам необходимо уловить движение основного окна и переместить дочернее окно.

Однако это сломается, если пользователь переместит дочернее окно напрямую.

Если вы хотите обеспечить, чтобы эти два человека оставались вместе, вы бы гораздо лучше попытались поместить их в одно окно. Наличие двух окон и попытка переопределить нормальное поведение Windows, вероятно, не является чистым подходом - это будет более запутанным, чем просто попытка создать одно «нормальное» окно.

2

Как правило, вам необходимо уловить событие OnMove для родительского окна и переместить дочернее окно.

Я не верю, что есть способ WinAPI для этого, поэтому это будет немного ручное кодирование.

2

Как говорит Джон Гиетцен, у вас нет возможности заставить Windows сделать это за вас, и если вы сделаете это, обработав события OnMove, вы получите задержку, когда пользователь переместит или изменит размер главного окна.

Альтернативой является расширение главного окна и установка окна учебника внутри него, с правой стороны.

Смежные вопросы