Visual Basic.NET - Deshabilitar un menustrip

   
Vista:

Deshabilitar un menustrip

Publicado por Cecy (1 intervención) el 08/02/2016 23:56:40
Buenas tardes

He comenzado a realizar mi primer programa y estoy usando visual studio 2015. Con el lenguaje visual basic.
Mi pregunta es, tengo un formulario login el cual tiene 3 usuarios diferentes. En el segundo formulario tengo un menustrip. Quisiera saber como le puedo hacer para que cuando el usuario "x" al momento de loguearse solo pueda usar varias opciones del menu que esta en el segundo formulario.
Es decir, el administrador tiene todos los privilegios; y el segundo usuario solo tendrá acceso por decirlo así a 3 opciones de todas las que hay.

Eh estado investigando pero no encuentro información alguna. Espero me puedan apoyar, por favor.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Deshabilitar un menustrip

Publicado por Mikel (47 intervenciones) el 20/02/2016 19:49:14
Nunca he trabajado con visual studio 2015, siempre lo hago con 2010, pero no creo que en esto haya ninguna diferencia.

La solucion seria:

Me.MiOpcionDeMenu.Enabled = False
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier

Deshabilitar un menustrip

Publicado por Javier (33 intervenciones) el 21/02/2016 04:17:21
Lo podrias manejar de dos maneras, creo son sencillas de implementar.

1
2
3
4
5
6
7
8
9
10
11
12
13
1.- Al hacer el "login" cargas el "Rol" por asi llamarlo.
 
Select Case Usuario
    Case "Usuario 1"
           My.Forms.TuSegundoFormulario.MenuStrip.SubMenu.Enable = False
 
Y asi con todos los usuarios que manejes.
 
2.- Al Cargar tu Segundo Formulario hacer lo mismo.
 
Select Case Usuario
    Case "Usuario 1"
             MenuStrip.SubMenu.Enable = False


Como ya te habien mencionado, si te das cuenta la logica es la misma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Deshabilitar un menustrip

Eso tienes que recorrer las opciones del menú, pero para ello debes tener contra que comparar y luego puedes hacer lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
foreach (ToolStripItem item in TuMenu)
{
	// Aqui va la lógica que quieres implementar en cada ToolStripItem
	if ((item.Tag != null) && (item.Tag.ToString() != string.Empty))
	{
		bool flag = false; // this.VerificaPermisos(item.Tag.ToString());
		//item.Visible = flag;
		item.Enabled = flag;
	}
	// Aqui implementamos la recursividad donde el método se llama a sí mismo, así trabaja para cualquier cantidad de niveles de menu.
	if (item is ToolStripMenuItem)
	{
		ToolStripMenuItem item2 = (ToolStripMenuItem)item;
		DesHabilitaRecursivoToolStripItems(item2.DropDown.Items);
	}
}

Todo eso está hecho en C#, pero es lo mismo para VB, solo que hay una tabla con usuarios, otra con nombres de menus a los cuales se puede tener acceso y lo deshabilita según los permisos que se les asigne o quite.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar