Может кто сталкивался,
есть много различных форм, которые отображаются внутри MDI-контейнера(формы с выставленным в тру свойством IsMdiContainer). Хотелось бы сделать так, чтобы в данный момент была активна только одна дочерняя форма, а ко всем остальным доступа не было. Т.е. нужно поведение SDI. Однако форм много, поэтому удобно использовать MDI-контейнер для управления дочерними формами. Как убрать ControlBox из MDI-контейнера, чтобы ползователь не мог сворачивать активную дочернюю форму? Т.е. убрать ControlBox, который управляет дочерними окнами, а не самой главной формой (типа ControlBox = false для главной формы — это совсем не то)
А почему бы просто это специальную дочернюю форму не сделать модальной?
Чтобы убрать controlbox можно просто заголовок дочерней формы (Form.Text) установить в null или String.Empty — исчезнет.. правда вместе с заголовком и хот-кеи (Ctrl-F6) останутся..
Здравствуйте, Sinatr, Вы писали:
S>Привет!
S>А почему бы просто это специальную дочернюю форму не сделать модальной? S>А зачем вообще?
Очень сложные контролы на формах, поэтому дестроить формы и воссоздавать потом вызывает заметную перерисовку. Можно, конечно, тут че-нить подумать. Но решение с убранным controlbox'ом более симпатичное.
Желательно, чтобы несколько форм одновременно болталось в MDI-контейнере (т.е. были созданы), но доступ был только к одной. Чтобы юзер не смог добраться до остальных форм по своему желанию. Вот тут-то и мешает ВТОРОЙ ControlBox главной формы (MDI-контейнера).
S>Чтобы убрать controlbox можно просто заголовок дочерней формы (Form.Text) установить в null или String.Empty — исчезнет.. правда вместе с заголовком и хот-кеи (Ctrl-F6) останутся..
Нужно убрать ControlBox из главной формы (MDI-контейнера), причем убрать ВТОРОЙ ControlBox — который отвечает за дочерние формы и появляется только когда в MDI-контейнере есть дочерние формы.