Compartir a través de


ContextMenu Clase

Definición

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.

Se aplica a

Consulte también