发现父节点的index是0开始计数的,子节点的index也是从0开始计数的。在treeview中怎么唯一标识一个节点呢,有没有直接用一个数字来标识节点的?是winform的。fullpath可以用,不过好像比较麻烦。

解决方案 »

  1.   

    用一个数字标识似乎不行。得这样:
    this.treeview1.nodes[0].nodes[0];
      

  2.   

    private void lvCESelectIndex(object sender, System.EventArgs e)
    {
    try
    {
    if(/*this.lvCE.Focus() && lvCE.SelectedItems !=null &&*/ lvCE.SelectedIndices.Count >0)//if(lvsKeep .SelectedItems !=null&&lvsKeep.SelectedIndices .Count >0)
    {
    string[] strShow = ListViewClass.ListViewValues(this.lvCE);
    this.txtTil.Text = strShow[0];
    this.txtMsg.Text = strShow[1];
    this.crtimeFlag = strShow[2]; this.btnxpMod.Enabled = true;
    this.btnxpDel.Enabled = true;
    this.btnxpAdd.Enabled = true;
    this.btnxpOK.Enabled = false;
    this.btnEn();
    }
    else
    {
    this.btnxpMod.Enabled = false;
    this.btnxpDel.Enabled = false;
    this.btnxpAdd.Enabled = true;
    this.btnxpOK.Enabled = false;
    this.btnxpNext.Enabled = false;
    this.btnxpPre.Enabled = false;
    this.btnxpLast.Enabled = true;
    this.btnxpFirst.Enabled = true;
    }

    //this.btnEn();
    this.txtdi();
    }
    finally 
    {
    //this.lvCE.SelectedIndexChanged -= new EventHandler(this.lvCESelectIndex);
    }private void btnxpDel_Click(object sender, System.EventArgs e)
    {
    //this.btnxpDel.Enabled = false;
    //string a = this.lvCE.SelectedItems[0].SubItems[0].Text; if(this.txtTil.Text == "" || this.txtMsg.Text =="")
    {
    MessageBox.Show("没有数据可以被删除,请选中一条记录","信息管理系统",MessageBoxButtons.OK,MessageBoxIcon.Information  );
    return;
    }
    else
    {
    if(MessageBox.Show("您确定要删除选定的记录吗?", "信息管理系统", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No )
    return ;
    string strDele = "DELETE FROM "+TableName+" WHERE CreateDate= '"+crtimeFlag+"'";
    SQLDataBase.DbExecuteNonQueryCmd(strDele); 
    //SQLDataBase.DelDataSet(ds,"CreateDate= '"+crtimeFlag+"'",TableName);
    ListViewClass.ListViewRemove(this.lvCE);
    this.btnxpNext.Enabled = false;
    this.btnxpPre.Enabled = false;
    }
    }
      

  3.   

    对用一个数字标识似乎不行。得这样:
    this.treeview1.nodes[i].nodes[j];
      

  4.   

    用treeview的tag属性,它可以容下一个Object对象,因此如:treeview.node.tag = new object();
    或treeview.node.tag = new Integer(ID);这样就把treeview的各个节点与一些对象关联起来了