两个事件都写上,这样无论点图标还是文字,都可以
TreeView1_SelectedNodeChangedTreeView1_TreeNodeExpanded
其中关键是找TreeNodeCollection
/// <summary>
/// 点击文字展开与收缩
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
TreeView tv = (TreeView)sender;
TreeNode tn = tv.SelectedNode;
TreeNodeCollection tnc = null;
if (tn.Parent == null)
{
tnc = tv.Nodes;
}
else
{
tnc = tn.Parent.ChildNodes;
}
foreach (TreeNode node in tnc)
{
if (node == tn)
{
node.Expanded = true;
}
else
{
node.CollapseAll();
}
}
}
/// <summary>
/// 点击图标展开与收缩
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
TreeNodeCollection ts = null;
if (e.Node.Parent == null)
{
ts = ((TreeView)sender).Nodes;
}
else
{
ts = e.Node.Parent.ChildNodes;
}
foreach (TreeNode node in ts)
{
if (node != e.Node)
{
node.Collapse();
}
}
}
TreeView操作:文字与图标展开与收缩
本文详细介绍了如何使用TreeView控件实现文字和图标展开与收缩的功能,包括使用SelectedNodeChanged和TreeNodeExpanded事件,以及如何通过TreeNodeCollection进行节点操作。
150

被折叠的 条评论
为什么被折叠?



