11. Формы

В этой главе мы глубже погрузимся в работу с формами и узнаем, как лучше передавать данные между формами, как организовывать взаимодействие между формами и как управлять ими. Класс Form — это больше, чем просто элемент управления или контейнер для элементов управления.

Существуют два типа приложений: MDI (Multi Document Interface, многодокументный интерфейс) и SDI (Single Document Interface, интерфейс с одним документом). Несмотря на то, что Microsoft рекомендует использовать однодокументные приложения, многодокументные окна все еще существуют, даже в самом Windows. Ярким примером многодокументного приложения в Windows является консоль управления. Выберите меню Пуск | Выполнить (для Windows Vista и Windows 7 просто выбираем Пуск и вписываем команду в строку поиска) и введите mmc. Вы увидите программу, внутри главного окна которой могут находиться другие окна (рис. 11.1). Если вы работаете с компьютерами давно, то наверно помните, что программы офисного пакета, — такие как Microsoft Word, тоже когда-то были выполнены в виде многодокументных окон.

В принципе, интерфейс Internet Explorer тоже можно отнести к многодокументному приложению, как и среду разработки Visual Studio. Ведь в этих программах внутри главного окна можно открыть сразу несколько Web-страниц или файлов с исходным кодом — просто они отображаются не в виде окон внутри главного контейнера, а в виде вкладок. Такой метод считается более интуитивно понятным, и именно его стараются применить в большинстве случаев. Интерфейс с использованием документов в виде вкладок придется программировать самому, а часть функций по работе стандартного MDI-интерфейса берет на себя сама ОС и Framework.

Несмотря на то, что рекомендуется использовать интерфейс с одним документом, мы рассмотрим и многодокументный интерфейс, раз уж он существует, но основной упор будет сделан именно на интерфейс с одним документом, — как на рекомендуемый. Рекомендации желательно соблюдать, потому что их придумывают не просто так, чтобы сделать нашу жизнь хуже. Рекомендации — это личный опыт профессионалов.

Рис. 11.1. Пример многодокументного приложения

Следующая глава

11.1. Диалоговые окна

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне