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

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

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

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

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

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

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

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

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

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

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

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

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

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

автору
сходи чтоли на codeguru или codeproject посмотри готовые компаненеты, в том числе и плавающие панели ...
...
Рейтинг: 0 / 0
02.12.2004, 17:41
    #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
02.12.2004, 18:55
    #32810569
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли форму "вшить" в другую форму?
gerss[quot Eternal]Здорово!
даже и не знал, что это можно (а очень надо)

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

Проблемка появилась. Как подавить мерцание форм при "засылке" тулбара?
...
Рейтинг: 0 / 0
02.12.2004, 19:31
    #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
02.12.2004, 20:24
    #32810632
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли форму "вшить" в другую форму?
Идею понял, но вот загвоздка:
В промежутке между деактивацией одной формы и активацией другой получаем
сл. цепочку:

//убрали тулбар
this.ResumeLayout();
. . . мерцает
this.SuspendLayout(); // уже другая форма
//закинули тулбар (другой формы)
...
Рейтинг: 0 / 0
03.12.2004, 11:05
    #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
03.12.2004, 11:21
    #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
03.12.2004, 11:43
    #32811387
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли форму "вшить" в другую форму?
gerssИмеется ввиду переключение между двумя дочерними формами,
каждая из которых имеет свой ToolBar

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

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

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

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

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


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