Zdravím, potřeboval bych poradit s Eventy. Dejme tomu ža mám nějákou svoji třídů, kde chci spouštět event pokaždé, když se ji změní vlastnost. Takže mám:
Public Class ClassUzivatel
Private _userName As String
Public Property UserName As String
Get
Return _userName
End Get
Set(ByVal value As String)
If _userName <> value Then
_userName = value
RaiseEvent UserIsChanged()
End If
End Set
End Property
Private Sub NactiData()
'Nějáký kód který načte data a přiřadí je do vlastnosti
Me.UserName="Nějáká načtená hodnota"
End Sub
Sub New
NactiData() 'načtu data při vytvoření objektu
End Sub
Public Event UserIsChanged()
End Class
A pak si třeba ve formuláři nadeklaruju:
Dim WithEvents NovyUzivatel As ClassUzivatel=New ClassUzivatel
Private Sub NovyUzivatel_UserIsChanged() Handles NovyUzivatel.UserIsChanged
'zde je nějáký kód
Exit Sub
Problém je v tom, že se mi událost NovyUzivatel_UserIsChanged vůbec nespustí. Když si kód krokuju, tak mi to v Property třídy na řádek na kterém volám RaiseEvent sice najede, ale napojená procedura se nespustí. Mohl by mi někdo poradit co dělám špatně? S vlastníma událostma zatím nemám moc zkušenosti. A pak je tu ještě jedna věc, vím že bych měl do událostí dávat parametry Sender typu Object a pak parametr typu System.EventArgs, mohl by mě někdo nakopnout co konkrétně se do těchto parametrů dává? Předem díky
|