Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms: Toolbar-ы в MDI / 5 сообщений из 5, страница 1 из 1
15.04.2004, 15:18
    #32482934
gerss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinForms: Toolbar-ы в MDI
Привет всем!

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


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

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

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

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

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

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

а
f.ResumeLayout();
ResumeLayout();

после?

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

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

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

а
f.ResumeLayout();
ResumeLayout();

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


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