我在treeview2中建立了2个根目录:A 和 B
然后又在A下建立2个节点:A1和A2
        B下也建立2个节点:B1和B2
运行下面代码时总提示"List Index Out of Bounds (0)"
为什么啊??????????????????????
if treeview2.Items.Item[0].Item[0].Selected then
    showmessage('A1')
  else if treeview2.Items.Item[0].Item[1].Selected then
    showmessage('A2')
  else if treeview2.Items.Item[1].Item[0].Selected then
    showmessage('B1')
  else if treeview2.Items.Item[1].Item[1].Selected then
    showmessage('B2');

解决方案 »

  1.   

    这样也可以实现:
    if treeview2.Selected.AbsoluteIndex=1 then
        showmessage('A1')
      else if treeview2.Selected.AbsoluteIndex=2 then
        showmessage('A2')
      else if treeview2.Selected.AbsoluteIndex=4 then
        showmessage('B1')
      else if treeview2.Selected.AbsoluteIndex=5 then
        showmessage('B2');
      

  2.   

    仔细检查,肯定是访问超界了,也就是说,你Items 里根本没记录
      

  3.   

    Items.Item[1].代表A1节点
    B节点应该是Items.Item[3]
    改为:
    if treeview2.Items.Item[0].Item[0].Selected then
        showmessage('A1')
      else if treeview2.Items.Item[0].Item[1].Selected then
        showmessage('A2')
      else if treeview2.Items.Item[3].Item[0].Selected then
        showmessage('B1')
      else if treeview2.Items.Item[3].Item[1].Selected then
        showmessage('B2');