private void Form1_Load(object sender, EventArgs e)
        {
            MainMenuStrip.Items.Clear();
            //DataSet1.T_MENU_INFODataTable dt = new DataSet1.T_MENU_INFODataTable();
            //t_MENU_INFOTableAdapter1.Fill(dt);
            DataSet ds = new DataSet();
            ds.ReadXml("ctset.xml");
            CreateMainMenu(MainMenuStrip, ds.Tables["t_menu_info"]);
        }
        void CreateMainMenu(MenuStrip menuStrip, DataTable dt)
        {
            DataRow[] drs = dt.Select("frm_father_id='-1'", "frm_order");
            if (drs.Length > 0)
            {
                foreach (DataRow item in drs)
                {
                    ToolStripMenuItem mi = new ToolStripMenuItem();
                    mi.Text = item["frm_cname"].ToString();
                    CreateMenuItem(mi, item["frm_id"].ToString(), dt);
                    menuStrip.Items.Add((ToolStripItem)mi);
                }
            }
        }
        void CreateMenuItem(ToolStripMenuItem mi, string fatherid, DataTable dt)
        {
            DataRow[] drs = dt.Select("frm_father_id='" + fatherid+"'", "frm_order");
            if (drs.Length > 0)
            {
                foreach (DataRow item in drs)
                {
                    ToolStripMenuItem mitem = new ToolStripMenuItem();
                    mitem.Text = item["frm_cname"].ToString();
                    mitem.Tag = item;
                    CreateMenuItem(mitem, item["frm_id"].ToString(), dt);
                    mi.DropDownItems.Add(mitem);
                    mitem.Click += new EventHandler(BindClickToInstinse);
                }
            }
        }

        void BindClickToInstinse(object sender, EventArgs e)
        {
            ToolStripMenuItem mi = sender as ToolStripMenuItem;
            if (mi.HasDropDownItems)//如果有下一级目录就不实例化
            {
                return;
            }
            DataRow dr = mi.Tag as DataRow;
            try
            {
                //Form f = System.AppDomain.CurrentDomain.CreateInstanceFrom(Application.StartupPath+"\\"+ dr["frm_dll"].ToString(), dr["frm_ename"].ToString()).Unwrap() as Form;
                Form f = System.AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap(Application.StartupPath + "\\" + dr["frm_dll"].ToString(), dr["frm_ename"].ToString()) as Form;
                f.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

 

<?xml version="1.0" encoding="UTF-8"?>
<ctsets>
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
  <t_menu_info frm_ />
</ctsets>

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2021-11-01
  • 2022-12-23
  • 2021-07-06
  • 2021-12-15
猜你喜欢
  • 2021-09-09
  • 2021-11-10
  • 2021-07-29
  • 2022-12-23
  • 2021-07-18
  • 2021-10-06
相关资源
相似解决方案