powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms: Toolbar-ы в MDI
5 сообщений из 5, страница 1 из 1
WinForms: Toolbar-ы в MDI
    #32482934
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Есть MDI-контейнер, в нем - ToolBar. Есть дочерняя форма, в ней - также есть ToolBar. Надо переместить ToolBar из дочерней формы в контейнер. Делаю так:
Код: plaintext
1.
  f.toolBar1.Parent = this;


где f - дочерняя форма. Код при этом - в контейнере.

ToolBar из дочерней формы появляется в контейнере, НО... ВЫШЕ Toolbar-а контейнера.

Как сделать так, чтобы ToolBar из дочерней формы был вторым, а первым - ToolBar контейнера? Никакие изменения свойства Dock обоих ToolBar-ов в любом порядке не приводят к нужному результату...

Сергей
...
Рейтинг: 0 / 0
WinForms: Toolbar-ы в MDI
    #32485559
_FRED_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Классно! Никогда бы не подумал, что такой штуки можно так просто добиться!
Поигрался и пришёл к тому:
1. После
f.toolBar1.Parent = this;
надо вызвать
f.toolBar1.BringToFront();
2. Наверно так и cделано, но всяк пожарный эти вызовы лучше обрамить
SuspendLayout();
f.SuspendLayout();
и
f.ResumeLayout();
ResumeLayout();
3. При закрытии f не забыть избавиться от toolBar1 в мди паренте.
...
Рейтинг: 0 / 0
WinForms: Toolbar-ы в MDI
    #32492204
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, попробую.

А, кстати, что значит "обрамить"? Я правильно понял, что
SuspendLayout();
f.SuspendLayout();

надо ставить до
f.toolBar1.Parent = this;
f.toolBar1.BringToFront();

а
f.ResumeLayout();
ResumeLayout();

после?

При закрытии f избавляюсь от toolBar1. Это-то просто, Parent ему обратно на f и он исчезает.

Сергей
...
Рейтинг: 0 / 0
WinForms: Toolbar-ы в MDI
    #32495521
_FRED_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gerssSuspendLayout();
f.SuspendLayout();

надо ставить до
f.toolBar1.Parent = this;
f.toolBar1.BringToFront();

а
f.ResumeLayout();
ResumeLayout();

после?
Да, конечно.
Это для того, что бы мелькания окон не были так заметны.
...
Рейтинг: 0 / 0
WinForms: Toolbar-ы в MDI
    #32498816
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, все действительно получилось!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms: Toolbar-ы в MDI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]