我在一个窗体放了两个listbox,一个edit,我在edit中输入listbox1的某一item的值,如”商人“,如何让listbox1删除“商人”这一值,而listbox2增加“商人”这一值
listbox1为:工人
              商人
             知识份子
listbox2为:空执行后
listbox1为:工人
            知识份子
listbox2为:商人

解决方案 »

  1.   

    procedure TForm1.Edit1Change(Sender: TObject);
    var
      i:integer;
    begin
      for i:=0 to listBox1.Count-1 do
      begin
        if listbox1.Items.Strings[i]=edit1.Text then
        begin
          listbox1.Items.Delete(i);
          listbox2.Items.Add(edit1.Text);
        end;
      end;
    end;
      

  2.   

    哦,错了,应该是这样:procedure TForm1.Edit1Change(Sender: TObject);
    var
      i:integer;
    begin
      for i:=listBox1.Count-1 downto 0 do
      begin
        if listbox1.Items.Strings[i]=edit1.Text then
        begin
          listbox1.Items.Delete(i);
          listbox2.Items.Add(edit1.Text);
        end;
      end;
    end;