Другими словами, если я хочу написать приложение winforms db с появлением, например VS, которое имеет стыковочные панели, а также возможность отображать/скрывать формы в некоторых из этих панелей, как бы я структурировал интерфейс? Как бы я мог открывать несколько разрозненных форм в разное время (с большими сетями данных на них), избегая при этом плавающих форм, а также эффективно используя память? Я хочу избежать плавающих окон.Является ли Visual Studio несколькими или единым интерфейсом документа?
ответ
В обоих интерфейсах одновременно видны несколько форм, но в MDI все свободно перемещается. В этом смысле Visual Studio является SDI.
Из Википедии: «Интерфейс в стиле IDE является отличительной формой интерфейса нескольких документов (MDI), поскольку все дочерние окна в интерфейсе в стиле IDE расширены с добавленной функциональностью, обычно недоступной в приложениях MDI. Из-за этого IDE . -Style приложения можно считать функциональной надстройкой и потомок приложений MDI Примеры расширения функциональных возможностей ребенка окна включают в себя: * закрепляемые дочерние окна * Независимые суб-панели родительского окна * GUI разветвители для изменения размера суб- панелей родительского окна " Как я могу сделать независимые суб-панели в MDI? – Mitch
Я думаю, что технически Visual Studio будет классифицироваться как MDI.
Основная форма содержит разрозненные элементы управления. Затем каждый из этих элементов управления может быть состыкован по требованию и т. Д. В Visual Studio, например, есть один элемент управления (с несколькими вкладками) для отображения документов, которые вы редактируете. Единый элемент управления с несколькими вкладками, который содержит (например) Обозреватель решений, Свойства и т. Д.
В качестве отправной точки для создания собственного интерфейса интерфейса IDE я бы создал форму с 5 панелями, один состыкован сверху, один налево , один вправо, один нижний и один «наполнитель» Это ваша отправная точка. Добавьте разделители, чтобы можно было изменять размеры панелей. Затем каждая панель может удерживать элемент управления вкладкой, и каждая вкладка удерживает «MdiBaseControl»
MdiBaseControl может быть любым, что вы хотите. Таким образом, в VS-терминах у вас есть такие вещи, как SolutionExplorer, Свойства, Точки останова, FindResults и т. Д. Каждый MdiBaseControl можно перетащить с текущей вкладки и упасть на любую из прикрепленных панелей (которая затем добавляет его в элемент управления Tab в качестве новой вкладки)
проверить эту статью, чтобы построить VS подобный интерфейс:
Visual Studio IDE like Dock Container
Я не пробовал сам компонент, но это выглядит интересно.
Visual Studio является MDI определенно
В техническом смысле, Visual Studio представляет собой приложение MDI, чьи окна документа якорь ТАВ.
MDI относится к «интерфейсу нескольких документов» и относится к тому факту, что в более крупном родительском окне открыты и видны несколько документов.
В современной области разработки приложений, как правило, MDI был нахмурился - но это была «старая школа» MDI, с свободно плавающими окнами. Они широко считаются кошмаром юзабилити.
С другой стороны, MDI, реализованная как вкладки внутри родительского окна, настолько успешна из рассмотрения пользовательского интерфейса, что даже среда, в которой традиционно не используется MDI (EG, Mac OS), реализует их.
Чтобы реализовать что-то подобное, вы можете «сворачивать самостоятельно» или использовать любой из множества пользовательских пакетов управления/API, которые позволят вам легко разрабатывать приложения MDI с вкладками. Одной из последних вещей, которые я сделал с Infragistics NetAdvantage (перед тем, как отойти от нее), было приложение, ориентированное на Visual Studio, с боковыми панелями для стыковки, результаты поиска в виде панели внизу и все первичные формы данных в виде вкладок MDI-документов с вкладками. (Действительно, WinForms - одно из немногих мест, где действительно светит Infragistics.)
С точки зрения управления памятью, это будет на вас.:)
Я только заметил, что у Developer Express есть элементы управления для создания интерфейсов в стиле IDE.
- 1. Является ли это интерфейсом или прототипом функции?
- 2. SharedPreferences: Является ли это классом или интерфейсом?
- 3. Является ли Django интерфейсом или бэкэндом?
- 4. Является ли webdriver классом или интерфейсом?
- 5. Является ли Visual Studio менее ресурсоемкой, чем Visual Studio Pro?
- 6. Является ли Visual Studio только для программирования?
- 7. Является ли это ошибкой в компиляторе или Visual Studio?
- 8. Является ли Visual Studio оптимизацией переходных ссылок?
- 9. Управление несколькими макетами Visual Studio
- 10. Является ли Visual Studio 2010 RC истекающим?
- 11. Является ли Visual Studio recursive_directory_iterator.pop() сломанным?
- 12. Является ли Visual Studio тем же, что и Visual C++
- 13. Является ли javax.persistence.entitymanager интерфейсом JPA?
- 14. Пропустить загрузку документа при запуске Visual Studio
- 15. несколько строк вкладки документа или файла в visual studio IDE
- 16. Избегайте открытия закладки/документа Visual Studio сначала
- 17. Visual Studio или GCC?
- 18. Есть ли эквивалент структуры документа MonoDevelop в Visual Studio 2012?
- 19. Проекты Visual Studio с несколькими папками
- 20. Является ли Visual Studio 2017 RC обратной совместимостью с решениями Visual Studio 2013?
- 21. Копирование функции «Формат документа» в Visual Studio?
- 22. Развертывание документа Word с помощью Visual Studio
- 23. Является ли это абстрактным классом или чистым виртуальным (интерфейсом)?
- 24. Является ли курсор классом или интерфейсом в Android?
- 25. Как обмениваться данными между двумя или несколькими расширениями Visual Studio?
- 26. Visual Studio 2010 или MonoDevelop
- 27. Проблема с интерфейсом Studio Studio
- 28. Является ли Qt Visual Studio дополнением к интеграции Qt Visual Studio?
- 29. Отладка с пользовательским интерфейсом Kendo в Visual Studio?
- 30. Является ли Visual Studio 2012 обратной совместимостью с Visual Studio 2010 в командной среде
Dunno, если это вариант, но это одна из областей, где WPF действительно сияет :) – cwap
Что я действительно спрашиваю, как я могу создать интерфейс «IDE-стиль»? – Mitch