vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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 - Fortgeschrittene
Re: ListView und ein Objekt 
Autor: MeisterEngel
Datum: 28.01.06 19:36

Hab mich jetzt dran versucht und dabei ist folgendes rausgekommen:

Public Class MVCPattern
    Private _frmMain As frmMain
    Private _clientlist As New ArrayList
 
    Public Sub New(ByVal mainform As frmMain)
        _frmMain = mainform
    End Sub
 
    Public Function getClient(ByVal index As Int32) As Client
        Return _clientlist.Item(index)
    End Function
 
    Public Sub add(ByVal _client As Client)
        Dim _item As New ListViewItem
 
        With _item
            With .SubItems
                .Add(New ListViewItem.ListViewSubItem)
                .Add(New ListViewItem.ListViewSubItem)
                .Add(New ListViewItem.ListViewSubItem)
                .Add(New ListViewItem.ListViewSubItem)
                .Add(New ListViewItem.ListViewSubItem)
                .Add(New ListViewItem.ListViewSubItem)
            End With
            .SubItems(0).Text = _client.ipAdresse
            .SubItems(1).Text = _client.Hostname
            .SubItems(2).Text = _client.Username
            .SubItems(3).Text = _client.Vncversion
            .SubItems(4).Text = _client.Virendefinitionsversion
            .SubItems(5).Text = _client.HCversion
        End With
        _clientlist.Add(_client)
        _client.BeginReceive()
        _frmMain.Invoke(_frmMain.addClient, _item)
    End Sub
 
    Public Sub remove(ByVal listindex As Int32)
        Try
            CType(_clientlist.Item(listindex), Client).StopReceive()
            CType(_clientlist.Item(listindex), Client).Dispose()
            _clientlist.RemoveAt(listindex)
            _frmMain.Invoke(_frmMain.removeClient, listindex)
        Catch ex As ArgumentOutOfRangeException
            Logger.write(ex.StackTrace.ToString)
        End Try
    End Sub
 
    Public Sub remove(ByVal sender As Client)
        Dim index As Int32 = _clientlist.IndexOf(sender)
        If index <> -1 Then
            CType(_clientlist.Item(index), Client).StopReceive()
            CType(_clientlist.Item(index), Client).Dispose()
            _clientlist.RemoveAt(index)
            _frmMain.Invoke(_frmMain.removeClient, index)
        End If
    End Sub
 
    Public Sub removeAll()
        For Each _client As Client In _clientlist
            Dim index As Int32 = _clientlist.IndexOf(_client)
            CType(_clientlist.Item(index), Client).StopReceive()
            CType(_clientlist.Item(index), Client).Dispose()
        Next
        _frmMain.Invoke(_frmMain.ClearListview)
        _clientlist.Clear()
    End Sub
 
    Public Sub edit(ByVal index As Int32)
        _frmMain.Invoke(_frmMain.editClient, index)
    End Sub
 
    Public Sub edit(ByVal sender As Client)
        _clientlist.IndexOf(sender)
        _frmMain.Invoke(_frmMain.editClient, _clientlist.IndexOf(sender))
    End Sub
End Class
Beim ClientObjekt wird sobald sich einer der jeweiligen Werte ändert (Ereignis ValueChanged) das edit aufgerufen, sprich der Client hält eine Referenz auf das MVC Pattern des Servers, da das Pattern in frmMain instanziert wird und beim Instanzieren des Servers mit übergeben wird. Die Clients werden im Server erstellt und bekommen dann wie gesagt die Referenz mit.

Hab ich das Pattern korrekt implementiert oder gibt es noch Anregungen?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ListView und ein Objekt1.589MeisterEngel14.01.06 11:44
Re: ListView und ein Objekt1.101ModeratorDaveS14.01.06 12:43
Re: ListView und ein Objekt1.093MeisterEngel14.01.06 12:51
Re: ListView und ein Objekt1.171ModeratorDaveS14.01.06 13:06
Re: ListView und ein Objekt1.011MeisterEngel14.01.06 15:49
Re: ListView und ein Objekt1.075MeisterEngel16.01.06 22:11
Re: ListView und ein Objekt1.068MeisterEngel21.01.06 11:35
Re: ListView und ein Objekt989MeisterEngel24.01.06 13:31
Re: ListView und ein Objekt1.132ModeratorFZelle24.01.06 15:07
Re: ListView und ein Objekt1.057MeisterEngel24.01.06 19:05
Re: ListView und ein Objekt992ModeratorFZelle24.01.06 19:59
Re: ListView und ein Objekt1.066MeisterEngel24.01.06 20:15
Re: ListView und ein Objekt1.024ModeratorFZelle25.01.06 08:53
Re: ListView und ein Objekt1.003MeisterEngel27.01.06 11:11
Re: ListView und ein Objekt1.030_daniel_128.01.06 20:54
Re: ListView und ein Objekt986ModeratorFZelle29.01.06 11:43
Re: ListView und ein Objekt1.007MeisterEngel29.01.06 14:35
Re: ListView und ein Objekt1.017ModeratorFZelle29.01.06 15:41
Re: ListView und ein Objekt1.018MeisterEngel29.01.06 15:53
Re: ListView und ein Objekt1.512ModeratorFZelle29.01.06 18:38
Re: ListView und ein Objekt1.057MeisterEngel30.01.06 16:19
Re: ListView und ein Objekt1.004ModeratorFZelle30.01.06 18:18
Re: ListView und ein Objekt1.043MeisterEngel30.01.06 19:13
Re: ListView und ein Objekt1.102ModeratorFZelle30.01.06 21:09
Re: ListView und ein Objekt990MeisterEngel30.01.06 21:35
Re: ListView und ein Objekt1.126MeisterEngel06.02.06 22:04
Re: ListView und ein Objekt976ModeratorFZelle07.02.06 09:49
Re: ListView und ein Objekt978MeisterEngel07.02.06 13:15
Re: ListView und ein Objekt1.041ModeratorFZelle07.02.06 13:52
Re: ListView und ein Objekt1.199MeisterEngel28.01.06 19:36

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