ROSTAM2
جمعه 19 مرداد 1403, 21:34 عصر
سلام
من تو ی Collection سفارشی آیتم هایی اضافه می کنم که از AddHandler برای اجرای رویدادشون استفاده می کنم !
آیا زمانی که قرار است آیتمی از Collection حذف بشه نیازی به استفاده از RemoveHandler می باشد یا نه؟!
Public Class ItemButtonsCollection
Inherits Dictionary(Of Guid, ItemButtons)
Enum ButtonTypes
None = 0
Hidden = 1
Edit = 2
Delete = 3
End Enum
Public Event ButtonClicked(ID As Guid, Button As HtmlElement, ButtonType As ButtonTypes)
Shadows Sub Add(ID As Guid, HiddenButton As HtmlElement, EditButton As HtmlElement, DeleteButton As HtmlElement)
Dim Buttons As New ItemButtons(ID, HiddenButton, EditButton, DeleteButton)
AddHandler Buttons.ButtonClicked, AddressOf onButtonClicked
MyBase.Add(ID, Buttons)
End Sub
Shadows Sub Remove(ID As Guid)
If MyBase.ContainsKey(ID) Then
RemoveHandler Me(ID).ButtonClicked, AddressOf onButtonClicked
MyBase.Remove(ID)
End If
End Sub
Private Sub onButtonClicked(ID As Guid, Button As System.Windows.Forms.HtmlElement, ButtonType As ButtonTypes)
RaiseEvent ButtonClicked(ID, Button, ButtonType)
End Sub
End Class
RemoveHandler Statement - Visual Basic | Microsoft Learn (https://learn.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/removehandler-statement)
من تو ی Collection سفارشی آیتم هایی اضافه می کنم که از AddHandler برای اجرای رویدادشون استفاده می کنم !
آیا زمانی که قرار است آیتمی از Collection حذف بشه نیازی به استفاده از RemoveHandler می باشد یا نه؟!
Public Class ItemButtonsCollection
Inherits Dictionary(Of Guid, ItemButtons)
Enum ButtonTypes
None = 0
Hidden = 1
Edit = 2
Delete = 3
End Enum
Public Event ButtonClicked(ID As Guid, Button As HtmlElement, ButtonType As ButtonTypes)
Shadows Sub Add(ID As Guid, HiddenButton As HtmlElement, EditButton As HtmlElement, DeleteButton As HtmlElement)
Dim Buttons As New ItemButtons(ID, HiddenButton, EditButton, DeleteButton)
AddHandler Buttons.ButtonClicked, AddressOf onButtonClicked
MyBase.Add(ID, Buttons)
End Sub
Shadows Sub Remove(ID As Guid)
If MyBase.ContainsKey(ID) Then
RemoveHandler Me(ID).ButtonClicked, AddressOf onButtonClicked
MyBase.Remove(ID)
End If
End Sub
Private Sub onButtonClicked(ID As Guid, Button As System.Windows.Forms.HtmlElement, ButtonType As ButtonTypes)
RaiseEvent ButtonClicked(ID, Button, ButtonType)
End Sub
End Class
RemoveHandler Statement - Visual Basic | Microsoft Learn (https://learn.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/removehandler-statement)