C#树视图索引

C#树视图索引,c#,arrays,treeview,indexing,C#,Arrays,Treeview,Indexing,我对treeview和节点索引的工作方式有点问题。在我的程序中,我有一个可以包含任意数量用户的数据库。每个用户由回车分隔(即每行一个用户)。我正在创建一个列出数据库中所有用户的treeview对象。如果用户单击某个特定节点,当我从数据库动态创建节点时,如何引用该节点/处理所选节点 StreamReader getMembers = new StreamReader(@"[data]\db\users.db"); List<string> mems = new List

我对treeview和节点索引的工作方式有点问题。在我的程序中,我有一个可以包含任意数量用户的数据库。每个用户由回车分隔(即每行一个用户)。我正在创建一个列出数据库中所有用户的treeview对象。如果用户单击某个特定节点,当我从数据库动态创建节点时,如何引用该节点/处理所选节点

StreamReader getMembers = new StreamReader(@"[data]\db\users.db");
        List<string> mems = new List<string>();
        members.Nodes.Add("Members");
        while (!getMembers.EndOfStream)
        {
            mems.Add(getMembers.ReadLine());
        }
        foreach (string o in mems)
        {
            TreeNode n = new TreeNode(o);
            members.Nodes[0].Nodes.Add(n);
        }
StreamReader getMembers=newstreamreader(@“[data]\db\users.db”);
List=newlist();
成员。节点。添加(“成员”);
而(!getMembers.EndOfStream)
{
mems.Add(getMembers.ReadLine());
}
foreach(mems中的字符串o)
{
TreeNode n=新的TreeNode(o);
members.Nodes[0].Nodes.Add(n);
}
数据库和程序:


如果您试图获取所选的树节点,可以通过
TreeView.SelectedNode
属性实现此目的。。。(http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.selectednode.aspx)

如果要处理选定树节点上的事件,请注册
TreeView.AfterSelect
事件(http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.afterselect)

例如:

private void TreeView1_AfterSelect(System.Object sender, 
    System.Windows.Forms.TreeViewEventArgs e)
{

    // Vary the response depending on which TreeViewAction
    // triggered the event. 
    switch((e.Action))
    {
        case TreeViewAction.ByKeyboard:
            MessageBox.Show("You like the keyboard!");
            break;
        case TreeViewAction.ByMouse:
            MessageBox.Show("You like the mouse!");
            break;
    }
}

假设您使用的是标准的forms treeview,听起来您想订阅服务器上的事件

// Handle the After_Select event.
private void TreeView1_AfterSelect(System.Object sender, 
    System.Windows.Forms.TreeViewEventArgs e)
{
  // If (TreeView1.SelectedNode...
}