Zitat:
Mit meinem Code nimmt er nur das unterste
Ist denn irgendwas selektiert?
Wenn nicht, dann macht der Code doch genau das, was er soll -> das letzte Löschen.
Wie man hier "letzten Index" (Count-1) gegen "ersten Index" (0) ersetzt, wurde ja schon genannt.
PS: Ich empfehle die Benutzung des Debuggers.
* Halpepunkt [F9] auf die erste Codezeile dieser Methode
* und dann mit F8 und/oder F7 schrittweise durch den Code gehen und schauen was der macht.
Können hier mehrere oder nur ein Item selektiert sein? (MultiSelect)
Wenn nur SingleSelect, dann geht es auch direkt. (ItemIndex ist der Index des
Selectierten Fokusierten)
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
begin
if ListBox1.ItemIndex >= 0 then
ListBox1.Items.Delete(ListBox1.ItemIndex) // lösche Selektiertes
else // wenn nichts Selektiert, dann
ListBox1.Items.Delete(ListBox1.Items.Count-1); // lösche Letztes (oder Erstes, mit Index 0)
end;
PS: Die Benamung ist etwas "grauenhaft".
* "Button6" sagt nicht aus was es ist (irgendwas mit Delete oder
Löschen Loeschen im Namen wäre angebracht)
* und "ID" ist hier kein Ident, sondern ein Index, also sollte es auch z.B.
i
oder
Index
heißen