VB.NET: WithEvents not Working
Posted
by Hei
on Stack Overflow
See other posts from Stack Overflow
or by Hei
Published on 2010-04-21T23:56:17Z
Indexed on
2010/04/22
0:03 UTC
Read the original article
Hit count: 151
vb.net
Hello All, I have the following classes:
Public Class Email
Private Shared ReadOnly EMAIL_REGEX = "\b[a-zA-Z]+[a-zA-Z0-9._+-]+@" + _
"[a-zA-Z0-9.-]+\.[a-zA-Z]{2,3}\b"
Private _email As String
Public Event emailCreated()
' Declare empty constructor private so the only way to create an object
' is using new (email)
Private Sub New()
End Sub
Sub New(ByVal email As String)
If Regex.IsMatch(email, EMAIL_REGEX) Then
_email = email
RaiseEvent emailCreated()
Else
Throw New Exception("Email Not Valid")
End If
End Sub
ReadOnly Property Email() As String
Get
Return _email
End Get
End Property
End Class
And
Public Class EmailForm
WithEvents myEmail As Email
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
myEmail = New Email(TextBox1.Text)
Catch ex As Exception
MessageBox.Show("Exception: " & ex.Message)
End Try
End Sub
Public Sub emailCreated() Handles myEmail.emailCreated
MessageBox.Show("New Email Created")
End Sub
End Class
If a create a wrong email lets say "email" the exception is correctly cached and a message is showed however is i input a valid email the event is not raised, the object is being created but no message is shown and no error or exception is thrown i suspect it has something to do with using "myemail = new Email(email)" but i have seen examples of using new with withevents with no problem. I would apreciate any input about this problem
thank you
© Stack Overflow or respective owner