ПОНЯТНО О Visual Basic NET (том 3)




Взаимодействие форм, модулей и классов в проекте


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

Вникать будем на примере. Создайте проект из двух форм, двух модулей и класса. На первую форму поместите кнопку. В пять окон кода введите такой текст:

Первая форма:

Public Class Form1

    Inherits System.Windows.Forms.Form

Windows Form Designer generated code

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Debug.WriteLine(M2)

        Debug.WriteLine(Объект.C1)

        Debug.WriteLine(Форма2.F2)

        Процедура_модуля2()

        Объект.Процедура_класса()

        Форма2.Процедура_формы2()

        Форма2.Show()

    End Sub

End Class

Первый модуль:

Module Module1

    Public Форма2 As New Form2

    Public Объект As New Класс

End Module

Вторая форма:

Public Class Form2

    Inherits System.Windows.Forms.Form

Windows Form Designer generated code

    Public F2 As String = "F2"

    Public Sub Процедура_формы2()

        Объект.C1 = "Форма 2 изменила переменную С1 из Объекта"

        Debug.WriteLine(Объект.C1)

    End Sub

End Class

Второй модуль:

Module Module2

    Public M2 As String = "M2"

    Public Sub Процедура_модуля2()

        Форма2.F2 = "Модуль 2 изменил переменную F2 из формы 2"

        Debug.WriteLine(Форма2.F2)

    End Sub

End Module

Класс:

Public Class Класс

    Public C1 As String = "C1"

    Public Sub Процедура_класса()

        M2 = "Объект  изменил переменную M2 из модуля 2"

        Debug.WriteLine(M2)

    End Sub

End Class

Запустите проект, нажмите кнопку, проект напечатает:

M2

C1

F2

Модуль 2 изменил переменную F2 из формы 2

Объект изменил переменную M2 из модуля 2

Форма 2 изменила переменную С1 из Объекта

Сходство и различия будем прослеживать у трех модулей, а именно: второго стандартного модуля, второй формы и класса. Вы видите, что их код я написал почти одинаковым, если не считать, конечно, начальные строки кода у формы. Код всех этих трех модулей содержит объявление переменной и объявление процедуры. И та и другая объявлены, как Public, чтобы и той и другой можно было пользоваться из любого модуля проекта.




Содержание  Назад  Вперед