这是一个通讯簿问题:我现在定义了两个窗体:MainForm(主窗体),Group(组信息窗体)
我现在是在主窗体的单击新建组事件中进入Group窗体,当填写完组的信息,关闭此窗体的时候把此组的组名显示在MainForm的treeview控件中,由于winform中没有象webform那样的页面刷新,所以我不知道如何实现高手帮帮忙帮我解决这个小小难题谢谢。。

解决方案 »

  1.   

    在Group设置DialogResault.MainForm 根据DialogResault来判断是否要将组名添加到TreeView中。在Group中公开一个属性,用于或得组名。
      

  2.   

    我有这么一段代码?高手们帮帮忙了??
    我在这个函数里得到要插入节点的父节点:TreeNode SelectParentNode(string ParentID)
    然后在另一个函数中把这个节点插入到当前树中。
    public void BindTree()
    {
    SqlConnection myConn = new SqlConnection("server=localhost;uid=sa;pwd=125226;database=messagebook");
    SqlCommand myCommand = new SqlCommand("ViewTree",myConn);
    myCommand.CommandType = CommandType.StoredProcedure;
    myConn.Open();
    SqlDataReader myReader;
        myReader =myCommand.ExecuteReader(CommandBehavior.CloseConnection);
    while(myReader.Read())
    {
    string ID = myReader.GetString(0);
    string GroupName = myReader.GetString(1);
    string ParentID = myReader.GetString(2);
    if(ID ==ParentID)
    {
    treeView1.Nodes.Add(GroupName);
    }
    else
    { //查找父节点,生成子节点。
    TreeNode Node = SelectParentNode(ParentID);
    try
    {   int i = treeView1.Nodes.IndexOf(Node);
    treeView1.Nodes[i+2].Nodes.Add(GroupName);问题就在这里为啥i得出来的是-1只有加上2才能正确的显示那????
    //treenode.Nodes.Add(GroupName);
    //Node.Nodes.Add(GroupName);
    //MessageBox.Show(Node.Nodes[1].ToString());
    }
    catch(Exception e1)
    {
    MessageBox.Show(e1.Message);
    } }
    }
    }
    这是一个treeView控件的问题