ListView sprawdzenie zmiany wartości

0

Witam

jak sprawdzić czy zawartość kontrolki ListView zmieniła się ?

kombinuje cos w ten deseń ale nie wychodzi mi to za bardzo :)

 
#region BLOKADA


                        if (blockslave <= 100) blockslave++;
                        if (blockslave >= 100)
                        {
                            int test = 0;

                            while (true)
                            {                            
                               arraytrade = new object[TradeList.Items.Count];
                               TradeList.Items.CopyTo(arraytrade, 0);
                                if (arraytrade != arraylast)
                                {
                                    arraylast = arraytrade;
                                    blockslave = 0;
                                    break;
                                }
                                test++;
                                if (test >= 20) break;
                                Thread.Sleep(100);
                            }
                        }
                        #endregion

to ma dzialac mniej więcej tak że jak od jakiegoś czasu nie było zmiany w listview to blokuje na okolo 2sek.
to działa w wątku TCP więc jeżeli nie ma zmiany to spowalnia zapytania :)

pozdrawiam

1

Nie trzymaj swoich danych tylko w kontrolkach interfejsu użytkownika. Stwórz sobie jakąś listę obok i z niej wypełniaj ListView. A co do samego problemu: takie ciągłe odpytywanie co jakiś czas w pętli jest bardzo nieefektywne. Jeżeli potrzebujesz wiedzieć o momencie dodania nowego elementu to powiadamiaj zainteresowanych właśnie wtedy (np. własnym zdarzeniem).

1 użytkowników online, w tym zalogowanych: 0, gości: 1