Jag har en treeview som ser ut på följande sätt: Du skall köra en foreach-loop på listOldProv.SelectedNode.Parent.Childs helt enkelt (tror att egenskaperna heter så iaf.) <code> Misstänkte nå't sådant... Ska kolla i hjälpen på treeviewen... Hej!Flytta alla children i en treeview till en listbox
-A
--Adam
--Anton
-B
--Björn
--Bosse
--Bertil
Om jag nu markerar A i min treeview och klickar på min add knapp så ska alla A´s children läggas till i min listbox. Hur lyckas jag med detta?
<code>
private void btnAdd_Click(object sender, EventArgs e)
{
listProv.BeginUpdate();
if (NodeLevel(listOldProv.SelectedNode) == 0)
{
//Kod för att lägga dit alla children
}
else
{
listProv.Items.Add(listOldProv.SelectedNode.Text);
}
listProv.EndUpdate();
btnAdd.Enabled = false;
btnDelete.Enabled = false;
}
public int NodeLevel(TreeNode node)
{
int level = 0;
while ((node = node.Parent) != null) level++;
return level;
}
</code>Sv: Flytta alla children i en treeview till en listbox
Sv: Flytta alla children i en treeview till en listbox
if (NodeLevel(listOldProv.SelectedNode) == 0)
{
foreach (TreeNode myNode in listOldProv.SelectedNode.Parent.Childs)
{
listProv.Items.Add(myNode.Text);
}
}
</code>
Ger...
target.cs(623,32): error CS0117: 'System.Windows.Forms.TreeNode' does not contain a definition for 'Childs'Sv: Flytta alla children i en treeview till en listbox
Sv: Flytta alla children i en treeview till en listbox
Den här koden borde göra susen.
<code>
private void btnAdd_Click(object sender, System.EventArgs e)
{
if (treeView1.SelectedNode==null)
return;
CopyToListView(treeView1.SelectedNode);
}
private void CopyToListView(TreeNode inNode)
{
foreach(TreeNode n in inNode.Nodes)
{
listView1.Items.Add(n.Text);
// Om dessa i sin tur har childs...
CopyToListView(n);
}
}
</code>
Mvh
Anders