我在我的第一个C#Winform应用程序上工作:( 我浏览XML文件到一个treeView,然后我选择节点,我想删除它。我的问题是: 每个节点包含一个id属性,那么这个节点使用两种或两种树的时间在同一个文件,答我想删除所有重复当属性相似时从treeView中删除节点
这是一个EXP:
<list>
<object number="3" background_colour="7" id="2996" name="MyFirst" type="2">
<child id="3794" x="0" y="0"/>
<child id="13794" x="0" y="44"/>
<child **id="13794**" x="239" y="44"/>
</object>
<object height="4" id="13793" line="24487" direction="1"/>
<object height="194" **id="13794"** line_attributes="24487" line ="0"/>
</list`>
所以,现在我可以删除节点(节点是一个对象),但我想要如果我删除ID = 13794的对象,我自动删除ID = 13794
我真的从一周开始考虑这个问题:(如果有人有一个想法。谢谢。
我的功能代码:
private void DeleteHandler(TreeNode tNode)
{
tNode.BackColor = Color.Red;
var messageResult = MessageBox.Show("Are u sur to delete node and childs?", "Alerte de suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (messageResult == System.Windows.Forms.DialogResult.Yes)
RemoveChildNodes(tNode);
else
tNode.BackColor = Color.Transparent;
}
private void RemoveChildNodes(TreeNode aNode)
{
if (aNode.Nodes.Count > 0)
{
for (int i = aNode.Nodes.Count - 1; i >= 0; i--)
{
aNode.Nodes[i].Remove();
}
}
var messageResult = MessageBox.Show("Delete from XML too ?", "Alerte de suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (messageResult == System.Windows.Forms.DialogResult.Yes)
aNode.Remove();
}
private void deleteNode_Click(object sender, EventArgs e)
{
TreeNode sourceNode = sourceTreeView.SelectedNode;
DeleteHandler(sourceNode);
}
你现在在做,直到和它是如何不工作?更新问题。 – 2014-11-23 13:03:21
现在,一个可以选择节点并删除它们,但只有一个节点! 我想删除具有相同属性值的所有节点ID – 2014-11-23 13:08:53
如果需要改进,请在此处发布您的代码。如果它是保密的,匿名它。 – 2014-11-23 13:11:10