Лучший способ предотвратить загромождение окон в моем приложении MDI - PullRequest
1 голос
/ 20 октября 2010

В настоящее время я разрабатываю приложение MDI (пользовательский CRM) в .net 4.0, и я начинаю не любить весь интерфейс просто потому, что нет реального способа отследить, какие окна открыты или закрыты, и это, вероятно, приведеточень запутанный интерфейс.

Каков наилучший способ избежать этого?Я должен реализовать панель задач для отслеживания каждого открытого ребенка MDI?Я должен использовать диалоги вместо того, чтобы предотвратить многозадачность?- Есть ли способ изменить размер свернутого окна в контейнере mdi (почему они такие маленькие, что вы даже не можете прочитать полное название формы таким образом ...)

Извините за столь многовопросы, заранее спасибо.

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Управление окнами MDI уже имеет встроенную функцию отслеживания открытых окон с помощью меню. ToolStripMenu имеет MdiWindowListItem, который можно установить в качестве ссылки на элемент меню, который будет содержать список открытых окон. Если меню присоединено к родительскому окну MDI, дочерние окна автоматически заполняют пункт меню.

Одна из целей MDI - разрешить многозадачность. Если это не то, что вы хотите, используйте другой дизайн.

Что касается изменения размера свернутых окон, то, очевидно, это невозможно при использовании стандартного интерфейса Windows. См. Дополнительную информацию здесь: Можно ли изменить размер свернутого окна в MDI C # Winforms . Но вы можете удалить стандартную кнопку «Свернуть», добавить свою и сделать то, что вы хотите, с окнами в обычном состоянии.

1 голос
/ 20 октября 2010

MDI имеет свои применения, но, как вы обнаружили, может легко привести к беспорядочному, сложному в использовании интерфейсу. В настоящее время популярным способом решения этой проблемы является добавление элемента управления вкладками (как в любом веб-браузере или большинстве текстовых редакторов / IDE), позволяющего переключаться между открытыми представлениями. Я думаю, это близко к панели задач.

Другими параметрами являются элементы управления, такие как панель Outlook (выбор большого представления в левой части Outlook) или, возможно, просто простое поле со списком с открытыми в настоящее время представлениями.

В качестве альтернативы, подумайте, как часто вы действительно хотите иметь несколько окон, и являются ли большинство из них «окнами инструментов». Если это так, возможно, обратите внимание на использование стыковочных окон для этих окон инструментов и интерфейса с одним документом для остальной части приложения. Все зависит от того, что вы на самом деле делаете!

...