/// <summary>
        /// Carrega e popula o menu do form
        /// </summary>
        private void CarregaMenu(int idPerfil)
        {
            //Instanciando os objetos
            //-----------------------
            rMenu regraMenu = new rMenu();
            //Declarando DataTables onde serão armazenados os itens de Menu e os SubMenus
            //---------------------------------------------------------------------------
            DataTable dtMenu;
            //Array para armazenar os itens do menu
            //-------------------------------------
            ToolStripMenuItem[] itemMenuP;
            try
            {
                this.ApagaMenu();
                //Busca e carrega o DataTable com os Menus Relacionados a um Perfil
                //-----------------------------------------------------------------
                dtMenu = regraMenu.BuscaMenu(idPerfil);
                //Declara o tamanho do Array baseado no tamanho do DataTable com os menus
                //-----------------------------------------------------------------------
                itemMenuP = new ToolStripMenuItem[dtMenu.Rows.Count + 1];
                for (int contador = 0; contador < dtMenu.Rows.Count; contador++)
                {
                    itemMenuP[contador] = new ToolStripMenuItem(dtMenu.Rows[contador]["Menu"].ToString());
                    this.mnuPrincipal.Items.AddRange(new ToolStripMenuItem[] { itemMenuP[contador] });

                    if (dtMenu.Rows[contador]["ende"] != DBNull.Value)
                    {

                        itemMenuP[contador].Click += new EventHandler(frmInicial_Click);
                        _dicEventos.Add(dtMenu.Rows[contador]["Menu"].ToString(), dtMenu.Rows[contador]["ende"]);
                    }

                    //Caso exista adicionas os menus na coleção e adiciona a chamada dos eventos
                    //--------------------------------------------------------------------------
                    this.PreencheSubMenu(itemMenuP[contador], dtMenu.Rows[contador]);

                }
                this.mnuPrincipal.Items.AddRange(new ToolStripMenuItem[] { this.deslogarToolStripMenuItem });
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Atenção", MessageBoxButtons.OK,
                                MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
            finally
            {
                regraMenu = null;
                itemMenuP = null;
                dtMenu = null;
            }
        }
 private void PopulaGrid()
 {
     rMenu regraMenu = new rMenu();
     DataTable dt;
     try
     {
         dt = regraMenu.TelaBuscaMenu(this.txtFiltro.Text);
         this.dgMenu.DataSource = dt;
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraMenu = null;
     }
 }
 /// <summary>
 /// Busca Menu atraves do filtro escolhido pelo usuario
 /// </summary>
 /// <param name="menu">o filtro passado pelo usuário pode ser Vazio</param>
 /// <returns>DataTable com o resultado da query</returns>
 private DataTable BuscaMenu(string menu)
 {
     rMenu regraMenu = new rMenu();
     try
     {
         return regraMenu.TelaBuscaMenu(menu);
     }
     catch (Exception ex)
     {
         throw ex;
     }
     finally
     {
         regraMenu = null;
     }
 }
        private void PreencheSubMenu(ToolStripMenuItem itemMenuPai, DataRow drLinha)
        {
            rMenu regraSubMenu;
            DataTable dtSubMenu;
            ToolStripMenuItem itemSubMenu;
            int idMenu;
            try
            {
                regraSubMenu = new rMenu();
                idMenu = Convert.ToInt32(drLinha["id_menu"]);
                dtSubMenu = regraSubMenu.BuscaSubMenu(idMenu);
                if (dtSubMenu.Rows.Count > 0)
                {
                    for (int i = 0; i < dtSubMenu.Rows.Count; i++)
                    {
                        itemSubMenu = new ToolStripMenuItem(dtSubMenu.Rows[i]["dsc_menu"].ToString());
                        itemMenuPai.DropDownItems.AddRange(new ToolStripMenuItem[] { itemSubMenu });

                        if (dtSubMenu.Rows[i]["ende"] != DBNull.Value)
                        {
                            itemMenuPai.DropDownItems[i].Click += new EventHandler(frmInicial_Click);
                            _dicEventos.Add(dtSubMenu.Rows[i]["dsc_menu"].ToString(), dtSubMenu.Rows[i]["ende"]);
                        }

                        this.PreencheSubMenu(itemSubMenu, dtSubMenu.Rows[i]) ;
                    }
                }
                else
                {
                    /*//Caso não exista apenas adiciona o evento ao controle
                    //----------------------------------------------------
                    itemMenuPai.DropDownItems.Add(drLinha["dsc_menu"].ToString());
                    itemMenuPai.Click += new EventHandler(frmInicial_Click);
                    _dicEventos.Add(drLinha["dsc_menu"].ToString(), drLinha["ende"]);*/
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
        }