ContextMenu Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa un menú contextual.
Esta clase no está disponible en .NET Core 3.1 y versiones posteriores. En su lugar se usa ContextMenuStrip, que reemplaza y extiende el control ContextMenu.
public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
inherit Menu
Public Class ContextMenu
Inherits Menu
- Herencia
Ejemplos
En el ejemplo de código siguiente se crea un controlador de eventos para el Popup evento de ContextMenu. El código del controlador de eventos determina cuál de los dos controles con nombre PictureBoxpictureBox1
y un TextBox con nombre textBox1
es el control que muestra el menú contextual. Dependiendo del control que provocó que ContextMenu mostrara su menú contextual, el control agrega los objetos adecuados MenuItem a .ContextMenu En este ejemplo se requiere que tenga una instancia de la ContextMenu clase , denominada contextMenu1
, definida dentro del formulario. En este ejemplo también se requiere que tenga un TextBox y PictureBox agregado a un formulario y que la ContextMenu propiedad de estos controles se establezca en contextMenu1
.
private:
void MyPopupEventHandler( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Define the MenuItem objects to display for the TextBox.
MenuItem^ menuItem1 = gcnew MenuItem( "&Copy" );
MenuItem^ menuItem2 = gcnew MenuItem( "&Find and Replace" );
// Define the MenuItem object to display for the PictureBox.
MenuItem^ menuItem3 = gcnew MenuItem( "C&hange Picture" );
// Clear all previously added MenuItems.
contextMenu1->MenuItems->Clear();
if ( contextMenu1->SourceControl == textBox1 )
{
// Add MenuItems to display for the TextBox.
contextMenu1->MenuItems->Add( menuItem1 );
contextMenu1->MenuItems->Add( menuItem2 );
}
else if ( contextMenu1->SourceControl == pictureBox1 )
{
// Add the MenuItem to display for the PictureBox.
contextMenu1->MenuItems->Add( menuItem3 );
}
}
private void MyPopupEventHandler(System.Object sender, System.EventArgs e)
{
// Define the MenuItem objects to display for the TextBox.
MenuItem menuItem1 = new MenuItem("&Copy");
MenuItem menuItem2 = new MenuItem("&Find and Replace");
// Define the MenuItem object to display for the PictureBox.
MenuItem menuItem3 = new MenuItem("C&hange Picture");
// Clear all previously added MenuItems.
contextMenu1.MenuItems.Clear();
if(contextMenu1.SourceControl == textBox1)
{
// Add MenuItems to display for the TextBox.
contextMenu1.MenuItems.Add(menuItem1);
contextMenu1.MenuItems.Add(menuItem2);
}
else if(contextMenu1.SourceControl == pictureBox1)
{
// Add the MenuItem to display for the PictureBox.
contextMenu1.MenuItems.Add(menuItem3);
}
}
Private Sub MyPopupEventHandler(sender As System.Object, e As System.EventArgs)
' Define the MenuItem objects to display for the TextBox.
Dim menuItem1 As New MenuItem("&Copy")
Dim menuItem2 As New MenuItem("&Find and Replace")
' Define the MenuItem object to display for the PictureBox.
Dim menuItem3 As New MenuItem("C&hange Picture")
' Clear all previously added MenuItems.
contextMenu1.MenuItems.Clear()
If contextMenu1.SourceControl Is textBox1 Then
' Add MenuItems to display for the TextBox.
contextMenu1.MenuItems.Add(menuItem1)
contextMenu1.MenuItems.Add(menuItem2)
ElseIf contextMenu1.SourceControl Is pictureBox1 Then
' Add the MenuItem to display for the PictureBox.
contextMenu1.MenuItems.Add(menuItem3)
End If
End Sub
Comentarios
Esta clase no está disponible en .NET Core 3.1 y versiones posteriores. Utilice ContextMenuStrip en su lugar.
La ContextMenu clase representa los menús contextuales que se pueden mostrar cuando el usuario hace clic en el botón derecho del mouse sobre un control o área del formulario. Los menús contextuales se usan normalmente para combinar distintos elementos de menú de MainMenu un formulario que son útiles para el usuario dado el contexto de la aplicación. Por ejemplo, puede usar un menú contextual asignado a un TextBox control para proporcionar elementos de menú para cambiar la fuente del texto, buscar texto en el control o características del Portapapeles para copiar y pegar texto. También puede mostrar nuevos MenuItem objetos en un menú contextual que no se encuentra dentro de para MainMenu proporcionar comandos específicos de la situación que no son adecuados para mostrar MainMenu .
Normalmente, se muestra un menú contextual cuando un usuario hace clic en el botón derecho del mouse sobre un control o el propio formulario. Los controles visibles y Form tienen una ContextMenu propiedad que enlaza la ContextMenu clase al control que muestra el menú contextual. Más de un control puede usar .ContextMenu Puede usar la SourceControl propiedad para determinar qué control mostró por última vez el menú contextual con el fin de realizar tareas específicas del control o modificar el menú contextual que se muestra para el control.
Es posible que desee saber cuándo se muestra el menú contextual para establecer marcas de verificación, deshabilitar elementos y realizar otras tareas de menú antes de que se muestre el menú al usuario. Puede controlar el Popup evento para determinar cuándo se muestra el menú contextual.
Nota
Para reutilizar MenuItem objetos que se muestran en para MainMenu su uso en , ContextMenudebe crear una copia del menú mediante el CloneMenu método de la MenuItem clase . También puede combinar elementos de menú y sus submenúes en un solo MenuItem objeto mediante el MergeMenu método de la MenuItem clase .
Constructores
ContextMenu() |
Inicializa una nueva instancia de la clase ContextMenu sin elementos de menú especificados. |
ContextMenu(MenuItem[]) |
Inicializa una nueva instancia de la clase ContextMenu con un conjunto especificado de objetos MenuItem. |
Campos
FindHandle |
Especifica que el método FindMenuItem(Int32, IntPtr) debe buscar un identificador. (Heredado de Menu) |
FindShortcut |
Especifica que el método FindMenuItem(Int32, IntPtr) debe buscar un acceso directo. (Heredado de Menu) |
Propiedades
CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
Container |
Obtiene la interfaz IContainer que contiene la clase Component. (Heredado de Component) |
DesignMode |
Obtiene un valor que indica si Component está actualmente en modo de diseño. (Heredado de Component) |
Events |
Obtiene la lista de controladores de eventos asociados a Component. (Heredado de Component) |
Handle |
Obtiene un valor que representa el identificador de ventana del menú. (Heredado de Menu) |
IsParent |
Obtiene un valor que indica si este menú contiene elementos de menú. Esta propiedad es de sólo lectura. (Heredado de Menu) |
MdiListItem |
Obtiene un valor que indica la clase MenuItem que se utiliza para mostrar una lista de formularios secundarios de interfaz de múltiples documentos (MDI). (Heredado de Menu) |
MenuItems |
Obtiene un valor que indica la colección de objetos MenuItem asociados al menú. (Heredado de Menu) |
Name |
Obtiene o establece el nombre de Menu. (Heredado de Menu) |
RightToLeft |
Obtiene o establece un valor que indica si el texto que muestra el control aparece de derecha a izquierda. |
Site |
Obtiene o establece ISite de Component. (Heredado de Component) |
SourceControl |
Obtiene el control que muestra el menú contextual. |
Tag |
Obtiene o establece los datos definidos por el usuario asociados con el control. (Heredado de Menu) |
Métodos
CloneMenu(Menu) |
Copia el objeto Menu que se pasa como un parámetro al objeto Menu actual. (Heredado de Menu) |
CreateMenuHandle() |
Crea un nuevo identificador para Menu. (Heredado de Menu) |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos que usa Component. (Heredado de Component) |
Dispose(Boolean) |
Se deshace de los recursos (distintos de la memoria) que usa Menu. (Heredado de Menu) |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
FindMenuItem(Int32, IntPtr) |
Obtiene el objeto MenuItem que contiene el valor especificado. (Heredado de Menu) |
FindMergePosition(Int32) |
Devuelve la posición en la que se debe insertar un elemento de menú. (Heredado de Menu) |
GetContextMenu() |
Obtiene el objeto ContextMenu que contiene este menú. (Heredado de Menu) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetMainMenu() |
Obtiene el objeto MainMenu que contiene este menú. (Heredado de Menu) |
GetService(Type) |
Devuelve un objeto que representa el servicio suministrado por Component o por Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
MergeMenu(Menu) |
Combina los objetos MenuItem de un menú en el menú actual. (Heredado de Menu) |
OnCollapse(EventArgs) |
Genera el evento Collapse. |
OnPopup(EventArgs) |
Genera el evento Popup. |
ProcessCmdKey(Message, Keys) |
Procesa una tecla de comando. (Heredado de Menu) |
ProcessCmdKey(Message, Keys, Control) |
Procesa una tecla de comando. |
Show(Control, Point) |
Muestra el menú contextual en la posición especificada. |
Show(Control, Point, LeftRightAlignment) |
Muestra el menú contextual en la posición y con la alineación especificadas. |
ToString() |
Devuelve una cadena String que representa el control Menu. (Heredado de Menu) |
Eventos
Collapse |
Se produce cuando se contrae el menú contextual. |
Disposed |
Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose(). (Heredado de Component) |
Popup |
Se produce antes de mostrarse el menú contextual. |