Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
En esta lección, aprenderá a habilitar o deshabilitar menús en tiempo de ejecución, así como a crear menús emergentes.
En la lección anterior, aprendió a usar el control MenuStrip para crear menús que permitan a los usuarios elegir opciones relacionadas con el programa. Sin embargo, en ciertos casos, es posible que algunas opciones sólo estén disponibles en determinados momentos. Por ejemplo, un comando de menú Copiar sólo estará disponible si hay algo que se pueda copiar.
La mayoría de los programas deshabilitan, en lugar de ocultar, los comandos de menú cuando no están disponibles. Cuando un elemento de menú está deshabilitado, el texto del menú pasa a estar atenuado y, al hacer clic en el elemento de menú, no se realiza ninguna acción. Al utilizar un control MenuStrip, puede deshabilitar y habilitar elementos de menú mediante la propiedad Enabled de MenuItem.
¡Inténtelo!
Para deshabilitar o habilitar elementos de menú
En el menú Archivo, haga clic en Nuevoproyecto.
En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms.
En el cuadro Nombre, escriba Menus2 y haga clic en Aceptar.
Se abrirá un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control MenuStrip y un control TextBox hasta el formulario.
En el formulario, haga clic en el control MenuStrip y escriba Edit, a continuación, presione ENTRAR.
En el cuadro situado bajo el primer cuadro, escriba Copy y presione ENTRAR.
En la ventana Propiedades, establezca la propiedad Enabled de CopyToolStripMenuItem en False.
Haga doble clic en el control TextBox para abrir el Editor de código.
En el controlador del evento TextBox1_TextChanged, escriba el siguiente código.
If Textbox1.Text <> "" Then CopyToolStripMenuItem.Enabled = True Else CopyToolStripMenuItem.Enabled = False End IfPresione F5 para ejecutar el programa. Haga clic en el menú Edición; el elemento de menú Copiar estará deshabilitado. Escriba algún texto en el control TextBox y, a continuación, vuelva a hacer clic en el menú Edición; el elemento de menú Copiar estará ahora habilitado.
Crear menús emergentes
Muchos programas usan menús emergentes, también conocidos como menús contextuales, para facilitar el acceso a los comandos que se utilizan frecuentemente. El acceso a un menú contextual se obtiene haciendo clic con el botón secundario del mouse en un formulario o en un control en tiempo de ejecución. Puede crear sus propios menús contextuales en Visual Basic mediante un control ContextMenuStrip.
Al igual que sucede con el control MenuStrip, cuando arrastra un control ContextMenuStrip hasta un formulario, el control ContextMenuStrip aparece como un cuadro en la parte superior del formulario con el texto "Escriba aquí" en su interior, y se agrega un icono a la bandeja de componentes. A diferencia de MenuStrip, sólo pueden agregarse elementos adicionales debajo del primer elemento de menú, creándose un menú vertical.
Además, es necesario que ContextMenuStrip esté asociado al formulario o al control en el que desea que aparezca. Esto se realiza estableciendo la propiedad ContextMenuStrip del formulario o del control en el nombre del control ContextMenuStrip. Puede asociar un solo control ContextMenuStrip a tantos controles como desee.
Inténtelo
Para crear un menú contextual
En el menú Archivo, elija Nuevo y haga clic en Proyecto.
En el cuadro de diálogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicación de Windows Forms.
En el cuadro Nombre, escriba ContextMenus y haga clic en Aceptar.
Se abrirá un nuevo proyecto de formularios Windows Forms.
En el Cuadro de herramientas, arrastre un control ContextMenuStrip hasta el formulario.
Haga clic en el formulario en la vista Diseño. En la ventana Propiedades, seleccione la propiedad ContextMenuStrip del formulario y haga clic en ContextMenuStrip1 en la lista desplegable.
En la bandeja de componentes, en la parte inferior del entorno de desarrollo integrado (IDE), haga clic en el control ContextMenuStrip En el objeto ContextMenuStrip, escriba Option1, y, a continuación, presione ENTRAR.
En el cuadro situado bajo el primer cuadro, escriba Option2 y presione ENTRAR.
Haga doble clic en el elemento de menú Option1 para abrir el Editor de código.
En el controlador del evento Option1ToolStripMenuItem_Click, escriba el siguiente código.
MsgBox("You chose Option 1")En el Editor de código, seleccione Option2ToolStripMenuItem en el cuadro desplegable izquierdo y, a continuación, elija Haga clic en en el cuadro desplegable derecho.
Aparecerá un nuevo controlador de eventos denominado Option2ToolStripMenuItem _Click en el editor de código.
En el controlador del evento Option2ToolStripMenuItem _Click, escriba el código siguiente:
MsgBox("You chose Option 2")Presione F5 para ejecutar el programa. Haga clic con el botón secundario del mouse en el formulario y después en uno de los elementos del menú contextual. Aparece un cuadro de mensaje que indica la opción elegida.
Pasos siguientes
En esta lección, aprendió a habilitar y deshabilitar menús, así como a crear un menú contextual. En el tema siguiente, aprenderá a utilizar un tipo diferente de control, Timer, para realizar acciones.
Próxima lección: Usar controles Timer para realizar acciones regulares
Vea también
Tareas
Proporcionar opciones al usuario: crear menús en tiempo de diseño
Cómo: Asociar un objeto ContextMenuStrip con un control
Referencia
Información general sobre el control MenuStrip (formularios Windows Forms)