Как заблокировать окно на другое? [WinForms] - PullRequest
2 голосов
/ 09 мая 2009

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

Ответы [ 3 ]

4 голосов
/ 09 мая 2009

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

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

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

2 голосов
/ 09 мая 2009

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

Альтернатива - расширить главное окно и поместить в него учебное окно вниз по правой стороне.

2 голосов
/ 09 мая 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...