解决方案 »

  1.   

    1:根据Menu控件的MenuItem_Click事件获取当前选择项的Text,通过 MenuItem.OwnerItem.Text
    获取父级item的Text
    2:根据Text值,设置TabIndex 为1 
    3:遍历你的TreeNode节点集合,根据父级text展开节点,根据  public void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked)
            {
                foreach (TreeNode node in treeNode.Nodes)
                {
                    node.IsSelected = nodeChecked;
                    if (node.Nodes.Count > 0)
                    {
                        this.CheckAllChildNodes(node, nodeChecked);
                    }
                }
            }选中节点。
      

  2.   

    点到那个菜单你是知道的,然后根据文字或者tag属性保存的唯一值,遍历treeview,其实menuitem的tag值甚至都可以保存对应treenode对象,这样直接取就是了
      

  3.   

    用TreeView实现导航菜单实例
    //数据库数据填充到TreeView
      public void InitTree(TreeNodeCollection Nds, string parentId)
        {
            TreeNode NewNode;
            //data为存储建树数据信息的数据集
            //用父节点进行筛选数据集中信息
            DataRow[] rows = data.Tables[0].Select("parent_Id='" + parentId + "'");
            foreach (DataRow row in rows)
            {            NewNode = new
                    TreeNode(row["title"].ToString(),                            //设置父节点
                    row["Files_Id"].ToString(), "images/1.gif", row["NavigateUrl"].ToString(), "");
                Nds.Add(NewNode);
              
                InitTree(NewNode.ChildNodes, row["Files_Id"].ToString());//添加子节点
            }
        }
    //用户点击节点实现跳转
     protected void TreeView1_SelectedNodeChanged1(object sender, EventArgs e)
        {
            int nodeId = Convert.ToInt32(TreeView1.SelectedValue);//获取TreeView控件选择的值
            string url = DBClass.GetUrl(nodeId);//获取指定地址
            Response.Redirect(url.ToString());//转到指定页
        }//CodeGo.net/
    //用存储过程获取TreeView节点相关联地址public static string GetUrl(int filesId)
        {
            //获得url地址
            SqlConnection myConnection = GetConnection();
            SqlCommand myCommand = new SqlCommand("GetUrl", myConnection);
            myCommand.CommandType = CommandType.StoredProcedure;
            //添加参数
            SqlParameter FilsesId = new SqlParameter("@FilesId", SqlDbType.Int, 4);
            FilsesId.Value = filesId;
            myCommand.Parameters.Add(FilsesId);
            //添加参数
            SqlParameter Url = new SqlParameter("@Url", SqlDbType.NVarChar, 100);
            Url.Direction = ParameterDirection.Output;
            myCommand.Parameters.Add(Url);
            //执行存储过程
            myConnection.Open();
            myCommand.ExecuteNonQuery();
            string url = Url.Value.ToString();
            myCommand.Dispose();
            myConnection.Dispose();
            return url;
        }