I'm not quite sure how to tackle this problem. I have a form that displays the properties of a class. I have events for all the properties so the form gets updated automatically when the properties change. However, upon initializing a class, these events do not get called, and so the form starts out blank. What is the best way to program so that when I have a new class, the form displays the class's properties immediately?

(One idea I had was to loop through the properties and call each event... is there a way to loop through class properties in .NET?)

Sure you can, see the implementation below. This example is a copy/paste code from my project in which I added a class "ValidationInstance" which holds a collection of items which should be checked (or préfilled before the handler IsValid will be raisen).

Dim iPropertyCount As Integer = 0
        For Each PropertyItem As PropertyInfo In yourClass.GetType().GetProperties()
            Select Case iPropertyCount
                Case 1 To 10
                    'add the properties of this class to then validation instance

                    Dim strToAdd As String = String.Empty
                    If Not PropertyItem.GetValue(yourClass, Nothing) = Nothing Then
                        strToAdd = PropertyItem.GetValue(yourClass, Nothing).ToString()
                    End If
                    yourClass.ValidationInstance.ValidateRequired(PropertyItem.Name, _

            End Select

            iPropertyCount += 1