private void item_Click(object sender, EventArgs e) { ToolStripItem item = (ToolStripMenuItem)sender; tbOpcion opcion = (tbOpcion)item.Tag; Type type = Type.GetType("Cosolem." + opcion.nombreFormulario); object[] args = { }; if (opcion.parametros != null) { args = opcion.parametros.Split(','); } Form form = (Form)Activator.CreateInstance(type, args); form.Text = opcion.descripcion; form.MdiParent = this; form.Show(); }
private void frmPrincipal_Load(object sender, EventArgs e) { tslEmpresa.Text = "Empresa " + Program.tbUsuario.tbEmpleado.tbEmpresa.razonSocial; tslNombreCompleto.Text = "Bienvenid@ " + Program.tbUsuario.tbEmpleado.tbPersona.nombreCompleto; tslTerminal.Text = Program.terminal; if (Program.tbUsuario.cambiarContrasena) { frmCambiarContrasena _frmCambiarContrasena = new frmCambiarContrasena(); _frmCambiarContrasena.ShowInTaskbar = false; _frmCambiarContrasena.ShowDialog(); if (Program.tbUsuario.cambiarContrasena) { Application.Exit(); } } List <tbUsuarioOpcion> permisos = Program.tbUsuario.tbUsuarioOpcion.Where(x => x.tieneAcceso).ToList(); List <tbModulo> modulos = permisos.Select(x => x.tbOpcion.tbModulo).OrderBy(y => y.ordenPosicion).Distinct().ToList(); foreach (var modulo in modulos) { ToolStripMenuItem menu = new ToolStripMenuItem { Text = modulo.descripcion }; permisos.Where(x => x.tbOpcion.idModulo == modulo.idModulo).ToList().ForEach(y => { tbOpcion opcion = y.tbOpcion; ToolStripItem item = new ToolStripMenuItem { Text = opcion.descripcion, Tag = opcion }; item.Click += new EventHandler(item_Click); menu.DropDownItems.Add(item); }); mnsOpciones.Items.Add(menu); } tmrTemporizador.Start(); }