Understanding Custom Events using Visual Basic.NET 2005 - A sample class without any event declarations: testing the class
(Page 2 of 5 )
To test the class presented in the previous section, add a new form with two buttons and a label. Modify your code to match the following:
Public Class Form1
Dim obj As New Sample01
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
obj.X = 10
obj.Y = 0
Me.lblValue.Text = obj.GetCalculatedValue
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
obj.X = 10
obj.Y = 5
Me.lblValue.Text = obj.GetCalculatedValue
End Sub
End Class
When you hit "Button1," it should give you a "Successful" message and the result in a label. If you hit "Button2," it gives the error message and the result in the label would be "0."
It is quite impractical (and not at all recommended) to have message boxes in classes. The business logic classes are meant only for logic and none of them should display any message boxes. Instead, the messages should be sent to the calling applications (in this case, it is the form).
In the "GetCalculatedValue" method, we are dealing with two things simultaneously. One of them is giving a message to the form (the user may use the message for display or simply suppress messages from displaying), and the other is returning a value back to the form. Returning a value to the form is simply done using the "Return" statement. How about the message? How do we send it back professionally? The user may or may not be interested in the message! If he is interested, he displays the message in another label and if not, he simply neglects it.
The next section gives you a professional approach for the same issue using events in Visual Basic 2005.
Next: Rewriting the sample class with eventing in Visual Basic 2005: coding the class >>
More Visual Basic.NET Articles
More By Jagadish Chaterjee