Listview ItemSelectionChanged wird zweimal ausgelöst?

8

Ich habe eine Winforms-App in C # mit einem ListView-Steuerelement. Diese ListView zeigt eine Liste von TO-DO-Elementen und ich verwende das 'ItemSelectionChanged'-Ereignis, um Updates zu verarbeiten.

Das Problem ist, dass das Ereignis "ItemSelectionChanged" zweimal ausgelöst wird, wenn ich versuche, ein Update durchzuführen.

Das ItemSelectionChanged-Ereignis aktualisiert das Formular, um die Aktualisierungen darzustellen (dh das Element aus der Liste zu entfernen).

Gibt es eine Möglichkeit, das Ereignis nach der Aktualisierung zu deaktivieren?

UPDATE1:

%Vor%     
John M 12.07.2010, 14:51
quelle

3 Antworten

10

Ja, es wird zweimal ausgelöst. Einmal, weil das zuvor ausgewählte Element für das neu ausgewählte Element wieder deaktiviert wurde. Sie müssen nur sicherstellen, dass Sie das Auswahlereignis sehen:

%Vor%     
Hans Passant 12.07.2010, 17:05
quelle
1

Ja, entfernen Sie einfach den EventHandler zu Beginn der Aktualisierung und fügen Sie ihn nach dem Aktualisieren von

erneut hinzu

d. h.

%Vor%     
w69rdy 12.07.2010 14:54
quelle
0

Ich denke, Sie müssen das Element am Ende Ihres Handlers manuell abwählen.

listView1.SelectedItem = null;

    
Khoa Tran 16.12.2017 05:46
quelle