日期:2014-05-18  浏览次数:20829 次

请教treeview的结点删除后,要把结点的TAG属性对应的对象一起删掉,该怎么做?对象不知道类型,急,谢谢
我现在每一节点的TAG存储了一个对象
用户点删除的时候,我不光要删掉这个结点,同时要把trv1.SelectedNode.Tag这个对象删除,该怎么办?

trv1.SelectedNode.Tag=NULL,没有删掉对象,怎么办呢

------解决方案--------------------
帮顶
------解决方案--------------------
你的每一节点的TAG存储的是什么对象?是你的Body.Paras[i] ??
假设你的Body.Paras[i]的类型是 ClassParas;


C# code
MessageBox.Show(Body.Paras.Count.ToString()); 
            if (trv1.SelectedNode == null) 
                return; 
            if (MessageBox.Show("确定删除?") == DialogResult.Cancel) 
                return; 
            if (trv1.SelectedNode.Tag != null) 
            { 
                ClassParas t= (ClassParas)trv1.SelectedNode.Tag 
            
                Body.Paras.Remove(t);
                trv1.SelectedNode.Remove(); 
            } 
            MessageBox.Show(Body.Paras.Count.ToString());

------解决方案--------------------
Body.Paras是什么?是一个list嘛?
那很容易解决啊,只要把trv1.SelectedNode.Tag转化成所要的类型然后remove就行了
Body.Paras.Remove((ClassName)trv1.SelectedNode.Tag);
------解决方案--------------------
((IList)(Body.Paras)).Remove(trv1.SelectedNode.Tag);