как открыть win # формы C # в том же окне, как в Windows, каждая папка открывается в одном окне и т. д.

1

Я разрабатываю приложение aС#, которое содержит около 30 winforms. каждая форма выполняет некоторые функции и передает данные во вторую форму. проблема в том, что каждая форма открыта в новом окне, и в конце я должен закрыть их все. Все, что я хочу, это то, что все формы открываются в одной/основной форме, как в окнах, когда мы открываем несколько форм, которые она открывает в одном окне. Чтобы перейти, я использую это:

form1 f1 = new form1 ();
f1.showdialogue().
  • 1
    «Все, что я хочу, это чтобы все формы открывались в одной / главной форме, как в окнах, когда мы открываем несколько форм, они открываются в одном и том же окне». Как упоминал Микки Дункан, не очень понятно, что вы имеете в виду. Если бы вы могли опубликовать скриншот того, о чем вы говорите, у нас было бы гораздо лучшее представление о том, чего вы хотите.
Теги:
winforms

2 ответа

1

как в окнах каждая папка открывается в одном окне и т.д.

Вы описываете Windows Explorer?

Проводник Windows использует оболочку Windows для просмотра пространств имен оболочек. Каждое пространство имен предоставляет ряд логических папок и элементов папок. Каждая папка может иметь ShellViews специально для отображения содержимого. Просмотр не обязательно должен быть "папками или файлами", но также и принтерами; сетевые компьютеры; или Шрифты, чтобы назвать несколько. Консоль управления Microsoft (MMC) следует аналогичной схеме.

метод

Вы можете сделать что-то подобное в С#.

  1. Сначала распакуйте приложение в логическую коллекцию областей/частей/компонентов/папок
  2. Каждая область имеет соответствующий UserControl
  3. Когда вы "просматриваете" или "открываете" область, вы создаете UserControl для этой области и отображаете ее
  4. При перемещении в другую область (или возвращение назад) вы показываете следующую соответствующую область

Кроме того, вы подумали о приложении стиля для веб -навигации (веб-стиль, Microsoft Money), и вместо того, чтобы всплывать новые окна, вы просто вставляете UserControl в главное окно. Этот элемент управления занимает большую часть пространства пользовательского интерфейса. "Z-порядок" отсутствует, потому что нет перекрывающихся окон.

Тогда у вас могут быть кнопки " Вперед" и " Назад".

Инспекционный дизайн пользовательского интерфейса Lookup In MSDN, а также программирование пространства имен Shell, хотя бы для получения идей.

Связанный

Немного не по теме, поскольку вы используете WinForms, но посмотрите на WPF Page Navigation, чтобы получить там идеи.

  • 0
    Если я могу добавить к вашему хорошему ответу, он также может использовать элемент управления IDE
0

вы можете использовать MDIParent для этой проблемы типа. и вы можете закрыть любое количество форм, получая всю дочернюю форму формы MdiParent.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню