我在窗口表单中有一个树视图。我使用以下函数选择该treeView中的节点。
private void FindAndSelect(TreeNodeCollection collection, object toSelect)
{
//problem in this line becouse while converting the toSelect into IstructuredEntity is showing null.
var entityToSelect = toSelect as Decoupling::IStructureEntity;
if (entityToSelect == null) //just select the Structure root
{
_treeView.SelectedNode = _treeView.Nodes[0];
return;
}
foreach (TreeNode tn in collection)
{
var treeNodeEntity = tn.Tag as IStructureEntity;
if (treeNodeEntity != null && treeNodeEntity.Id == entityToSelect.Id)
{
_treeView.SelectedNode = tn;
}
FindAndSelect(tn.Nodes, toSelect);
}
}但是上面的函数只能选择treeView中的父节点,我希望选择并突出显示子节点。有谁能告诉我,我需要改变什么才能起作用?
发布于 2015-04-29 09:23:49
TreeView.Nodes只会给出父节点。您可能必须实现ParentNode.ChildNode来获取树中的子节点。单击这里获取更多信息
foreach (TreeNode tn in treeView1.Nodes)
{
// get parent node here
foreach (TreeNode child in tn.Nodes)
{
//get child node here
}
}https://stackoverflow.com/questions/29937895
复制相似问题