Código HTML:
public partial class Form2 : Form
{
SqlConnection conn;
MenuStrip MnuStrip;
ToolStripMenuItem MnuStripItem;
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
this.IsMdiContainer = true;
MnuStrip = new MenuStrip();
this.Controls.Add(MnuStrip);
String conexion = ConfigurationManager.ConnectionStrings["cn"].ConnectionString;
conn = new SqlConnection(conexion);
String query = "select id_menu,des_menu,id_padre from tb_menu where id_padre = 0";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
MnuStripItem = new ToolStripMenuItem();
MnuStripItem.Name = dr["id_menu"].ToString();
MnuStripItem.Text = dr["des_menu"].ToString();
SubMenu(MnuStripItem);
MnuStrip.Items.Add(MnuStripItem);
}
}
public void SubMenu(ToolStripMenuItem mnu)
{
String query = "select id_menu,des_menu,img_menu from tb_menu where id_padre='" + mnu.Name.ToString() + "'";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
DataTable dt = new DataTable();
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
ToolStripMenuItem ssmenu = new ToolStripMenuItem();
ssmenu.Name = dr["id_menu"].ToString();
ssmenu.Text = dr["des_menu"].ToString();
ssmenu.Click += new EventHandler(SubMenuClick);
mnu.DropDownItems.Add(ssmenu);
}
}
private void SubMenuClick(object sender, EventArgs e)
{
String query = "select url_menu from tb_menu where des_menu='" + sender.ToString() + "'";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
DataTable dt = new DataTable();
da.Fill(dt);
Assembly frmAssembly = Assembly.LoadFile(Application.ExecutablePath);
foreach (Type type in frmAssembly.GetTypes())
{
if (type.BaseType == typeof(Form))
{
if (type.Name == dt.Rows[0]["url_menu"].ToString())
{
Form frmShow = (Form)frmAssembly.CreateInstance(type.ToString());
foreach (Form form in this.MdiChildren)
{
form.Close();
}
frmShow.MdiParent = this;
frmShow.WindowState = FormWindowState.Maximized;
frmShow.Show();
}
}
}
}
}


