我用ListBox.Selected[i]:=True,但是提示ListBound错误,
为什么???
用什么方法能控制选中那一条记录。

解决方案 »

  1.   

    我用的是Delphi5,同样的代码在Delphi6中没有问题。
    为什么????????????????????
      

  2.   

    我都用d7拉,你换版本吧,呵呵,我刚学delphi,帮你up
      

  3.   

    用ListBox1.Selected[5] := true;
    or
    ListBox1.ItemIndex := 5;都可以
    “提示ListBound错误”要注意索引值不要超过ListBox1.Items.Count,
    操作时索引值从0-ListBox1.Items.Count -1
      

  4.   

    你可以用listbox1.ItemIndex:=2;
    因为listbox的索引是从0开始的,所以2选择为listbox中的第三项
      

  5.   

    你可以利用ItemIndex属性呀,结合Items.IndexOf()应该就行了。
      

  6.   

    呵呵,Selected[]
    不管里面写什么它都提示错误!!!
    List index out bounds()
    有没有人用Delpi5试过啊???
    我知道Delphi6是没有问题的。
      

  7.   

    Delphi5的问题。
    修改StdCtrls.pas中的SetSelected方法。
    如下:
    procedure TCustomListBox.SetSelected(Index: Integer; Value: Boolean);
    begin
      if FMultiSelect then
      begin
        if SendMessage(Handle, LB_SETSEL, Longint(Value), Index) = LB_ERR then
          raise EListError.CreateResFmt(@SListIndexError, [Index]);
      end
      else
        if Value then
        begin
          if SendMessage(Handle, LB_SETCURSEL, Index, 0) = LB_ERR then
            raise EListError.CreateResFmt(@SListIndexError, [Index])
        end
        else
          SendMessage(Handle, LB_SETCURSEL, -1, 0);
    end;