就是我想当LISTBOX中的内容被选中后,EDIT里相应出现LISTBOX中被选中的内容。
就是在LISTBOX的ONCLICK事件里代码为:edit1.text:=???????
其中????就是LISTBOX中被选中的内容.
急啊!大哥们请帮帮我

解决方案 »

  1.   

    Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
      

  2.   

    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
    Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
    end;
      

  3.   

    不行啊,“list index out of bound(-1)”是什么意思啊??
    我之前也是这样写的,就是有上面双引号里的错误。怎么回事啊大哥们?
    急啊
      

  4.   

    怎么不行?我试过了.没问题啊.要不你在前面加个trim试试
      

  5.   

    你的代码是写在onclick事件里了吗?
      

  6.   

    procedure TForm1.ListBox1Click(Sender: TObject);
    begin
    if ListBox1.ItemIndex>=0 then
    Edit1.Text:=ListBox1.Items.Strings[ListBox1.ItemIndex];
    end;
      

  7.   

    首先感谢大哥们的意见。
    上面的问题我换了个方法,已经解决了。但现在又有问题出现。
    我想把数据表里的内容显示到LISTBOX里面。
    比如:
    with query1 do
    begin
    sql.Clear;
    sql.Add('select * from 数据表 where 某列='''+edit1.text+'''');
    open;
    with query2 do
    begin
    sql.Clear;
    sql.Add('select * from 数据表1 where 某='''+query1.fieldbyname('某某').AsString+'''');
    open;
    listbox1.Items.Clear;
    while not query2.Eof do
      begin
        listbox1.Items.Add(query2.fieldbyname('课程名').asstring);
        query2.Next;
    我在几个地方都用了这写法,全部都没问题,但就是有一个地方用这写法的时候,LISTBOX里显示的是重复的内容。
    例如正确的显示应该是:1
                       2
                       3
    结果它显示成:1
                1 
                1
    怎么回事?