Foros del Web » Programación para mayores de 30 ;) » .NET »

Agregar imagen a MenuStrip

Estas en el tema de Agregar imagen a MenuStrip en el foro de .NET en Foros del Web. Buenos días espero puedan ayudarme con mi consulta, deseo crear un menú para window form en tiempo de ejecución el menú lo creo desde una ...
  #1 (permalink)  
Antiguo 04/03/2014, 00:11
 
Fecha de Ingreso: agosto-2013
Mensajes: 3
Antigüedad: 10 años, 8 meses
Puntos: 0
Agregar imagen a MenuStrip

Buenos días espero puedan ayudarme con mi consulta, deseo crear un menú para window form en tiempo de ejecución el menú lo creo desde una tabla en mi base de datos, hasta ahí no tengo problema ahora lo que deseo hacer es que mis submenus tengan una imagen, pero que también se creen como mis menús en tiempo de ejecución. Este es el código que uso para crear mis menús, espero puedan ayudarme con esta consulta ya sea con algún ejemplo, un link con algo parecido o alguna sugerencia muchas gracias.
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();
                    }
                }
            }
        }
    }
  #2 (permalink)  
Antiguo 09/03/2014, 13:09
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Agregar imagen a MenuStrip

Hola, MenuStripItem tiene una propiedad Image. Cómo la asignes va a variar según de dónde saques la imagen (de archivo o de recurso embebido, por ejemplo).

Saludos.

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:15.