Программирование в среде Visual Studio Net. Понятие о в визуальном программировании. Проекты Visual Studio .Net. Работа в среде Visual Studio Net с формами и элементами управления в формах, страница 8

Создание SDI-приложения не требует дополнительных усилий. По-умолчанию любое приложение, создаваемое с помощью среды разработки Visual Studio .Net, является SDIприложением. Для создания же MDI-приложения требуется установить определенные свойства некоторым формам и написать соответствующий код. При этом, если все дочерние формы однотипны, то в проект достаточно добавить только одну дочернюю форму, т.к. на экране в процессе выполнения программы отображается наследный экземпляр дочерней формы. Поэтому даже при наличии одной дочерней формы внутри главной формы можно отобразить сколько угодно ее экземпляров. Если же дочерние формы различны, то в проект можно добавить только по одной дочерней форме каждого вида.

Для создания MDI-приложения необходимо в той форме, которая является главной, установить значение свойства IsMDIContainer, равное True (по умолчанию устанавливается значение False). У дочерних форм никаких специальных свойств устанавливать не требуется.

Для загрузки экземпляра дочерней формы необходимо написать следующий код (Form2 – имя дочерней формы):

Dim newmdichild As New Form2         newmdichild.MdiParent = Me         newmdichild.Show()

После загрузки дочерней формы ее можно обрабатывать как обычную. В частности, она имеет собственное событие Load, где можно, например, изменять ее заголовок:

Me.Text = "Вторая дочернаяя форма" и записать другие действия. Для скрытия дочерней формы с экрана используются методы Hide и Close, также, как и для обычной формы, например:

Me.Hide() или          Me.Close()

Ключевое слово Me здесь относится к дочерней форме, т.к. в данный момент эта форма является текущей. Дочерние формы можно закрывать и обычным образом (через кнопку закрытия окна Windows).  Если же нужно закрыть дочернюю форму из главной (например, из соответствующего пункта меню), то значение методов Hide и Close меняется. Например, для закрытия текущей дочерней формы метод Close применяется к объекту ActiveMDIChild:

Me.ActiveMdiChild.Close()

Ключевое слово Me здесь относится к родительской форме, т.к. в данный момент она является текущей. Для закрытия всех дочерних форм внутри родительской можно использовать код:

Dim f As New Form

For Each f In Me.MdiChildren

f.Close()

Next

Ключевое слово Me здесь также относится к родительской форме.

Дочерние окна внутри родительской формы можно упорядочивать по вертикали, по горизонтали, каскадом или по значкам. Такая возможность имеется во многих программах (Word, Excel и др.). Для реализации этой возможности в Visual Basic .Net используют метод LayoutMDI родительской формы, например:

Me.LayoutMdi(MdiLayout.TileVertical)

Me.LayoutMdi(MdiLayout.TileHorizontal)

Me.LayoutMdi(MdiLayout.Cascade)

Me.LayoutMdi(MdiLayout.ArrangeIcons)

Ключевое слово Me здесь также относится к родительской форме.

1.2.6. Работа с файлами данных в Visual Studio .Net

Для работы с бинарными файлами используется объект FileStream, создающий канал связи с файлом. Для чтения из файла используется объект BinaryReader, для записи в файл – объект BinaryWriter. Аналогично, для текстовых файлов используются объекты StremReader и StreamWriter соответсвенно.

Эти объекты не наносятся на форму а динамически создаются в ходе работы приложения, поэтому они отсутствуют на панели инструментов ToolBox.

Порядок действий по чтению данных из файла следующий:

1)  открыть файл;

2)  открыть поток чтения данных из файла;

3)  создать объект BinaryReader или StreamReader;

4)  прочесть данные;

5)  закрыть поток чтения данных из файла.

Объект FileStream создается со следующими атрибутами:

FileStream(имя файла, вид работы с файлом, операции с файлом).

Имя файла должно быть полным, т.е. включать в себя все вложенные папки. Рекомендуется получать имя файла с помощью элемента OpenFileDialog. Для чтения данных из файла используются методы ReadInt32, ReadSingle и другие, для каждого типа переменной используется свой метод. Для чтения данных из текстовых файлов используются следующие методы объекта StreamReader: