0

我正在使用此代码来分配值:

combobox1.Text:=form1.listview1.Selected.Caption;

但我收到此错误:无法将 TListItems 分配给 TComboBox

4

1 回答 1

4

您不能将 a 添加ListView.Items到 a ComboBox.Items(正如编译器告诉您的那样,一个是TListItems集合,另一个是 的后代TStrings,并且它们不是类型兼容的)。您可以将所选内容的标题添加ListItemComboBox.Items.

您需要将其添加到 ComboBox.Items:

ComboBox1.Items.Add(ListView1.Selected.Caption);

如果要添加所有选定的项目,则需要使用循环:

var
  Item: TListItem;
begin
  Item := ListView1.Selected;
  while Item <> nil do
  begin
    ComboBox1.Items.Add(Item.Caption);
    Item := ListView1.GetNextItem(Item, sdAll, [isSelected]);
  end;

如果您只想将所有项目添加ListViewComboBox(这似乎毫无意义,因为它们已经显示在 中ListView):

var
  i: Integer;
begin
  for i := 0 to ListView1.Items.Count - 1 do
    ComboBox1.Items.Add(ListView1.Items[i].Caption);
end;
于 2013-10-17T19:53:25.217 回答