我在我的第一個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