vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Event ausführen bei Änderung einer List(Of ) 
Autor: Snoopy
Datum: 08.08.08 10:50

Dazu musst Du dir eine eigene generische List bauen, die das IList Interface implementiert. Dann
kannst Du eigene Events hinzufügen. Hier mal ein "DirtyQuickHack"
Ist noch nicht ganz durchgetestet, sollte aber so problemlos funktionieren.

Public Class MyList(Of T)
   Implements IList(Of T)
 
   Private m_list As List(Of T)
 
   Public Event ListAdd(ByVal sender As Object, ByVal e As EventArgs)
   Public Event ListClear(ByVal sender As Object, ByVal e As EventArgs)
   Public Event ItemRemoved(ByVal sender As Object, ByVal item As T)
   Public Event ItemChanged(ByVal sender As Object, ByVal item As T)
 
   Public Sub New()
      m_list = New List(Of T)
   End Sub
 
   Public Sub Add(ByVal item As T) Implements _
     System.Collections.Generic.ICollection(Of T).Add
      m_list.Add(item)
      RaiseEvent ListAdd(Me, New EventArgs)
   End Sub
 
   Public Sub Clear() Implements System.Collections.Generic.ICollection(Of _
     T).Clear
      m_list.Clear()
      RaiseEvent ListClear(Me, New EventArgs)
   End Sub
 
   Public Function Contains(ByVal item As T) As Boolean Implements _
     System.Collections.Generic.ICollection(Of T).Contains
      Return m_list.Contains(item)
   End Function
 
   Public Sub CopyTo(ByVal array() As T, ByVal arrayIndex As Integer) _
     Implements System.Collections.Generic.ICollection(Of T).CopyTo
      m_list.CopyTo(array, arrayIndex)
   End Sub
 
   Public ReadOnly Property Count() As Integer Implements _
     System.Collections.Generic.ICollection(Of T).Count
      Get
         Return m_list.Count
      End Get
   End Property
 
   Public ReadOnly Property IsReadOnly() As Boolean Implements _
     System.Collections.Generic.ICollection(Of T).IsReadOnly
      Get
         Return False
      End Get
   End Property
 
   Public Function Remove(ByVal item As T) As Boolean Implements _
     System.Collections.Generic.ICollection(Of T).Remove
      m_list.Remove(item)
      RaiseEvent ItemRemoved(Me, item)
   End Function
 
   Public Function IndexOf(ByVal item As T) As Integer Implements _
     System.Collections.Generic.IList(Of T).IndexOf
      Return m_list.IndexOf(item)
   End Function
 
   Public Sub Insert(ByVal index As Integer, ByVal item As T) Implements _
     System.Collections.Generic.IList(Of T).Insert
      m_list.Insert(index, item)
   End Sub
 
   Default Public Property Item(ByVal index As Integer) As T Implements _
     System.Collections.Generic.IList(Of T).Item
      Get
         Return m_list(index)
      End Get
      Set(ByVal value As T)
         m_list(index) = value
         RaiseEvent ItemChanged(Me, value)
      End Set
   End Property
 
   Public Sub RemoveAt(ByVal index As Integer) Implements _
     System.Collections.Generic.IList(Of T).RemoveAt
      m_list.RemoveAt(index)
   End Sub
 
   Public Function GetEnumerator() As System.Collections.Generic.IEnumerator(Of _
     T) Implements System.Collections.Generic.IEnumerable(Of T).GetEnumerator
      Return m_list.GetEnumerator
   End Function
 
   Public Function GetEnumerator1() As System.Collections.IEnumerator _
     Implements System.Collections.IEnumerable.GetEnumerator
      Return m_list.GetEnumerator
   End Function
End Class

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Event ausführen bei Änderung einer List(Of )1.753keco08.08.08 09:49
Re: Event ausführen bei Änderung einer List(Of )1.168ProXy08.08.08 10:13
Re: Event ausführen bei Änderung einer List(Of )1.158Julian1308.08.08 10:14
Re: Event ausführen bei Änderung einer List(Of )1.124keco08.08.08 10:17
Re: Event ausführen bei Änderung einer List(Of )1.108ProXy08.08.08 10:23
Re: Event ausführen bei Änderung einer List(Of )1.111keco08.08.08 10:26
Re: Event ausführen bei Änderung einer List(Of )1.129Julian1308.08.08 10:36
Re: Event ausführen bei Änderung einer List(Of )1.117keco08.08.08 10:45
Re: Event ausführen bei Änderung einer List(Of )2.812Snoopy08.08.08 10:50
Re: Event ausführen bei Änderung einer List(Of )1.158keco08.08.08 10:55
Re: Event ausführen bei Änderung einer List(Of )1.166ModeratorDaveS08.08.08 10:55
Re: Event ausführen bei Änderung einer List(Of )1.099keco08.08.08 10:59
Re: Event ausführen bei Änderung einer List(Of )1.201ProXy08.08.08 11:00
Re: Event ausführen bei Änderung einer List(Of )1.123keco08.08.08 11:09
Event ausführen bei Änderung einer List(Of ): die 2te1.134keco09.08.08 18:13
Re: Event ausführen bei Änderung einer List(Of ): die 2te1.119ModeratorFZelle10.08.08 12:24
Re: Event ausführen bei Änderung einer List(Of ): die 2te1.064keco10.08.08 13:40
Re: Event ausführen bei Änderung einer List(Of ): die 2te1.090ModeratorFZelle10.08.08 15:00
Re: Event ausführen bei Änderung einer List(Of ): die 2te1.093keco10.08.08 21:31
Re: Event ausführen bei Änderung einer List(Of ): die 2te1.176ModeratorFZelle11.08.08 09:40
Re: Event ausführen bei Änderung einer List(Of ): die 2te1.111keco11.08.08 11:30

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel