meine erste Antwort auf Stapelaustausch hier.
C # .Net 4.0:
%Vor%Ich habe festgestellt, dass die Datenquelle beim ersten Mal aktualisiert wird. Wenn es eingestellt ist und Sie versuchen, es erneut zu setzen, wird es nicht aktualisiert.
Also habe ich es auf null gesetzt, setze es auf dasselbe und es wurde mit diesem Problem korrekt angezeigt.
ListBox aktualisiert nur seinen angezeigten Inhalt, wenn das Objekt, das an dataSource gebunden ist, seine eigenen Änderungen anzeigt. Das BindingSource-Objekt hat ein Ereignis namens DataSourceChanged. Wenn die Quelle zu einem anderen Objekt geändert wird, aktualisiert sich die Listbox selbst. Das gleiche gilt, wenn Sie eine Liste binden. Wenn Sie die Liste ändern, wird nichts passieren, da die Liste nicht benachrichtigt, dass sie geändert wurde. Es gibt eine einfache Lösung für dieses Problem: BindingList verwenden Ссылка
Die BindingList hat das ListChanged-Event wird jedes Mal aufgerufen, wenn die List (offensichtlich) geändert wird. Daher verwenden die DataBindings von Windows.Form-Objekten Ereignisse wie ListChanged, um sich selbst zu aktualisieren. Eine einfache Liste unterstützt dieses Ereignis nicht.
SO wenn Sie mit vielen Datenbindungen arbeiten wollen, die Sie kennen sollten: Ссылка
Windows Forms, um Änderungen vor allem in Listbox und anderen Steuerelementen zu sehen, bevor der Ladevorgang beendet ist, ist schwierig. Um Daten als geladen zu sehen, verwenden Sie invalidate (); dann Update ();