powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли форму "вшить" в другую форму?
18 сообщений из 18, страница 1 из 1
Можно ли форму "вшить" в другую форму?
    #32809903
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помните подчинённые формы Ms Access ?

У меня есть главная форма со строкой меню.Открывается куча форм. А вот если б можно было как то все формы отображать в одном месте , а конкретно внутри главной формы.

Можно ли это в NET осуществить?
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32809943
Petrovich Forever
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уж не про MDI ли окна ты говоришь?
Если ты имеешь ввиду следующий пользовательский интерфес:
окно программы с менюшкой вверху, и сереньким фоном, а в нем (в этом самом окне программы) открываются отдельные документы,
то это именно MDI форма. Так что поищи в доках по "MDI"
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32809984
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня уже понаделано штук 30 форм и они открываются через меню главной формы. Могу я их превратить в MDI?
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810119
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Легко ...
у главной ставишь
this.IsMdiContainer = true;
у подчиненных после создания и перед открытием
Form2 frm=new Form2();
frm.MdiParent=this;
frm.Show();
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810183
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо.

Вот только как получить список открытых MDI форм?

Хочу сделать меню "окно" чтобы переключаться с одного дочернего окна на другое. Как это осуществить?
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810194
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ах да , каким образом проверить открыта ли форма? Ну чтоб юзер не сделал 2 экземпляра формы.
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810226
Фотография ctmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В меню итеме есть MDIist поставь его в true и будет тебе список окон.

Код: plaintext
this.menuItem2.MdiList = true;

this.MdiChildren - подчиненые окна.

this.ActiveMdiChild - активное подчиненое окно.
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810230
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EternalБольшое спасибо.

Вот только как получить список открытых MDI форм?

Хочу сделать меню "окно" чтобы переключаться с одного дочернего окна на другое. Как это осуществить?

У пункта меню, которое ты хочешь сделать пунктом "окно" поставь MdiList = true

Весь функционал переключения при этом будет, вот только упорядочивание придется делать ручками.
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810277
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарствую, коллеги.

Как мне панель инструментов теперь еще добавить? Беру из контролов panel и ставлю под меню. И начиняю ее кнопками. А если мне надо несколько панелей , которые в зависимости от открытой формы показываются скрываются. Сегодня от юзеров получил таких тумаков за то , что без панели программа. Привыкли они в ворде жать кнопочки
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810320
olk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EternalБлагодарствую, коллеги.

Как мне панель инструментов теперь еще добавить? Беру из контролов panel и ставлю под меню. И начиняю ее кнопками. А если мне надо несколько панелей , которые в зависимости от открытой формы показываются скрываются. Сегодня от юзеров получил таких тумаков за то , что без панели программа. Привыкли они в ворде жать кнопочки
Класс !!! 5 баллов, учитесь колеги сегодня в 15:24 человек еще не знал о MDI a 17:24 уже наполучал тумаков от юзеров, вот это скорость внедрения

автору
сходи чтоли на codeguru или codeproject посмотри готовые компаненеты, в том числе и плавающие панели ...
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810341
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EternalБлагодарствую, коллеги.

Как мне панель инструментов теперь еще добавить? Беру из контролов panel и ставлю под меню. И начиняю ее кнопками. А если мне надо несколько панелей , которые в зависимости от открытой формы показываются скрываются. Сегодня от юзеров получил таких тумаков за то , что без панели программа. Привыкли они в ворде жать кнопочки

Ну, во-первых, лучше использовать не panel, а toolbar.
Во-вторых, вот примерный код, который позволяет переключать тулбары:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ChildForm_OnLoad(...)
{
  this.toolbar.parent = this.MdiParent;
  this.toolbar.BringToFront();//Это - чтобы она располагалась ниже тулбара главной формы, если он есть.
}

ChildForm_Closed(...)
{
  this.toolbar.parent = this;
}
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810569
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gerss[quot Eternal]Здорово!
даже и не знал, что это можно (а очень надо)

тольк пришлось использовать другие события
Activated, Deactivated
иначе тулбаров наплодим до самого низа формы

Проблемка появилась. Как подавить мерцание форм при "засылке" тулбара?
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810596
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Worobjoff gerss[quot Eternal]Здорово!
даже и не знал, что это можно (а очень надо)

тольк пришлось использовать другие события
Activated, Deactivated
иначе тулбаров наплодим до самого низа формы

Проблемка появилась. Как подавить мерцание форм при "засылке" тулбара?

Обрами сие действо
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
	
  this.SuspendLayout();
  this.MdiForm.SuspendLayout();
  
  //тут перемещение

  this.MdiForm.ResumeLayout();
  this.ResumeLayout();
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32810632
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идею понял, но вот загвоздка:
В промежутке между деактивацией одной формы и активацией другой получаем
сл. цепочку:

//убрали тулбар
this.ResumeLayout();
. . . мерцает
this.SuspendLayout(); // уже другая форма
//закинули тулбар (другой формы)
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32811219
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WorobjoffИдею понял, но вот загвоздка:
В промежутке между деактивацией одной формы и активацией другой получаем
сл. цепочку:

//убрали тулбар
this.ResumeLayout();
. . . мерцает
this.SuspendLayout(); // уже другая форма
//закинули тулбар (другой формы)

Попробуй так, как я говорил:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  this.SuspendLayout();
  this.MdiForm.SuspendLayout();
  
  this.toolbar.parent = this.MdiParent;
  this.toolbar.BringToFront();//Это - чтобы она располагалась ниже тулбара главной формы, если он есть.

  this.MdiForm.ResumeLayout();
  this.ResumeLayout();
То есть запретить отрисовку обоих окон - откуда берешь и куда кладешь тулбар и включить отрисовку только после перемещения. Я так делал - ничего не мерцало.
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32811282
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gerss EternalБлагодарствую, коллеги.

Как мне панель инструментов теперь еще добавить? Беру из контролов panel и ставлю под меню. И начиняю ее кнопками. А если мне надо несколько панелей , которые в зависимости от открытой формы показываются скрываются. Сегодня от юзеров получил таких тумаков за то , что без панели программа. Привыкли они в ворде жать кнопочки

Ну, во-первых, лучше использовать не panel, а toolbar.
Во-вторых, вот примерный код, который позволяет переключать тулбары:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ChildForm_OnLoad(...)
{
  this.toolbar.parent = this.MdiParent;
  this.toolbar.BringToFront();//Это - чтобы она располагалась ниже тулбара главной формы, если он есть.
}

ChildForm_Closed(...)
{
  this.toolbar.parent = this;
}



Спасибо.
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32811387
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gerssИмеется ввиду переключение между двумя дочерними формами,
каждая из которых имеет свой ToolBar

Первая, теряя фокус, выполнит перерисовку и команду ResumeLayout
До получения фокуса другой дочерней формы.
...
Рейтинг: 0 / 0
Можно ли форму "вшить" в другую форму?
    #32811864
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Worobjoff gerssИмеется ввиду переключение между двумя дочерними формами,
каждая из которых имеет свой ToolBar

Первая, теряя фокус, выполнит перерисовку и команду ResumeLayout
До получения фокуса другой дочерней формы.

Ну и запрети перерисовку всех форм, что участвуют в переключении.
запретил дочернюю1
запретил главную
переместил тулбары
разрешил дочернюю1

запретил дочернюю2
переместил тулбары
разрешил дочернюю2
разрешил главную

Под "разрешил ххх" подразумевается разрешение перерисовки
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Можно ли форму "вшить" в другую форму?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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