1.定义一个类
class Info
{
public string EnglishName { get; set; }
public int Age{ get; set; }
public string Address { get; set; }
}
2.
private void button1_Click(object sender, EventArgs e)
{
treeView2.Nodes.Clear(); //移除旧的节点
TreeNode nodePeople = new TreeNode(); //每个节点都是一个对象。TreeNode
Info info = new Info();
info.EnglishName = "Mary";
info.Age = 24;
info.Address = "山东";
nodePeople.Tag = info; //将节点的Tag属性指向一个对象,由于Tag是object类型的,所以可以指向任何对象
nodePeople.Text = "张静";
treeView2.Nodes.Add(nodePeople);
}
3.点击树节点事件
private void treeView2_AfterSelect(object sender, TreeViewEventArgs e)
{
Info info = (Info)e.Node.Tag; //e.Node当前操作的节点
MessageBox.Show(string.Format("EnglishName={0},Age={1},Address={2}",info.EnglishName,info.Age,info.Address));
}
二.TreeView节点的遍历
private void button2_Click(object sender, EventArgs e)
{
foreach (TreeNode node in treeView1.Nodes)
{
DisplayNode(node);
}
}
public void DisplayNode(TreeNode node)
{
textBox1.AppendText(node.Text+"\r\n");
if (node.Nodes.Count > 0) //如果节点有子节点
{
foreach (TreeNode childNode in node.Nodes) //遍历当前节点的子节点
{
DisplayNode(childNode); //显示子节点。不用仔细分析调用过程
}
}
}
TreeView中Tag及遍历树节点
最新推荐文章于 2017-08-20 06:10:46 发布