@Domenic
생각조차하지 않아도됩니다.
또 다른 솔루션은 ListView를 확장하는 것일 수 있으며 .items.add 및 items.remove를 호출하는 대신 물건을 추가하거나 제거 할 때 다른 함수를 호출 할 수 있습니다. 이벤트를 추가하지 않고도 추가하고 제거 할 수 있지만, .items.add 및 .items.remove가 직접 호출되지 않았는지 확인하기 위해 약간의 코드 검토만으로도 제대로 작동 할 수 있습니다. 여기에 약간의 예가 있습니다. 나는 오직 하나의 Add 함수를 보여 줬지만, 당신이 구현할 필요가있는 6 개가있다. 만약 모든 추가 함수를 사용하고 싶다면. 또한 .AddRange 및 .Clear를보고 싶을 수도 있습니다.
Public Class MonitoredListView
Inherits ListView
Public Event ItemAdded()
Public Event ItemRemoved()
Public Sub New()
MyBase.New()
End Sub
Public Function AddItem(ByVal Text As String) As ListViewItem
RaiseEvent ItemAdded()
MyBase.Items.Add(Text)
End Function
Public Sub RemoveItem(ByVal Item As ListViewItem)
RaiseEvent ItemRemoved()
MyBase.Items.Remove(Item)
End Sub
End Class
변경 전의 이벤트를 발생시키는 것이 더 좋을 것이라고 생각합니다. 또는 두 가지 이벤트가있을 수 있습니다. 이전에는 RaiseEvent ItemAdding();을, 이후에는 RaiseEvent ItemAdded();를 사용합니다. –