欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TreeView控件操作开发篇之(一)

程序员文章站 2022-03-04 11:52:08
...
[size=large]树控件TreeView功能强大,无处不在。接下来用几篇文章来对TreeView的常用操作进行汇总
1,设置TreeView控件的Tag属性
[/size]
   /// <summary>
/// 有关对TreeView控件操作相关组件
/// </summary>
public class TreeViewC
{
#region 设置TreeView控件的Tag属性
/// <summary>
/// 设置TreeView的Tag属性
/// </summary>
/// <param name="Tv"></param>
/// <returns></returns>
public bool SetTreeViewTag(TreeView Tv)
{
try
{
foreach (TreeNode Node in Tv.Nodes)
{
forTreeNodeTagSet(Node);
}
return true;
}
catch
{
return false;
}
}

private void forTreeNodeTagSet(TreeNode node)
{
SetNodeTagNumber(node);
foreach (TreeNode chilNode in node.Nodes)
{
forTreeNodeTagSet(chilNode);
}
}

/// <summary>
/// 设置节点的编号
/// </summary>
/// <param name="node"></param>
private void SetNodeTagNumber(TreeNode node)
{
string tempTag = string.Empty;
if (node.Parent == null) //表示是一级节点
{
if (node.PrevNode == null) //最*节点(根节点)
{
tempTag = "01"; // 01,02,03 0101 0102 0201
}
else
{
tempTag = (Convert.ToInt64(node.PrevNode.Tag.ToString()) + 1).ToString().PadLeft(node.PrevNode.Tag.ToString().Length, '0');
}
}
else
{
if (node.PrevNode == null) //子节点的第一个节点
{
tempTag = node.Parent.Tag.ToString() + "01";
}
else
{
tempTag = (Convert.ToInt64(node.PrevNode.Tag.ToString()) + 1).ToString().PadLeft(node.PrevNode.Tag.ToString().Length, '0');
}
}
node.Tag = tempTag;
}
#endregion

如图,当双击节点15时,它的tag值为0401
相关标签: treeview tag