我在一个表单中有两个对象:1 个列表框和 1 个备忘录。我正在尝试使用以下代码删除 listbox1 中的项目和备忘录中的同一行索引:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i:integer; //seting a variable
begin
if key=vk_delete then //if key = a delete
begin
for i:=0 to listbox1.items.count -1
begin
listbox1.DeleteSelected; //delete the selected line of the listbox
memo2.Lines.Delete(i); //delete the line based on the listbox selected item
end;
end;
end;
但它只有在我向列表框中添加一行时才有效。如果我在列表框中添加两行并尝试删除第 2 项,则 memo1 删除第 1 行;如果我将更多项目添加到列表框中并尝试删除,则会删除 memo1 中的各种行。我认为这是因为备忘录从 0 开始索引而列表框从 1 开始。但是我无法解决这个问题。谁能帮我删除两个对象,只删除我在对象列表框中选择的行?