ContextMenu Clase

Definición

Representa un menú contextual.Represents a shortcut menu. Aunque el control ContextMenuStrip reemplaza y agrega funcionalidad al control ContextMenu de las versiones anteriores, ContextMenu se conserva a efectos de compatibilidad con versiones anteriores y uso futuro, si se desea.Although ContextMenuStrip replaces and adds functionality to the ContextMenu control of previous versions, ContextMenu is retained for both backward compatibility and future use if you choose.

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 evento Popup del ContextMenu.The following code example creates an event handler for the Popup event of the ContextMenu. El código del controlador de eventos determina cuál de los dos controles PictureBox denominados pictureBox1 y un TextBox denominado textBox1 es el control que muestra el menú contextual.The code in the event handler determines which of two controls a PictureBox named pictureBox1 and a TextBox named textBox1 is the control displaying the shortcut menu. Dependiendo del control que haya provocado que ContextMenu muestre el menú contextual, el control agrega los objetos MenuItem adecuados al ContextMenu.Depending on which control caused the ContextMenu to display its shortcut menu, the control adds the appropriate MenuItem objects to the ContextMenu. Este ejemplo requiere que tenga una instancia de la clase ContextMenu, denominada contextMenu1, definida en el formulario.This example requires that you have an instance of the ContextMenu class, named contextMenu1, defined within the form. En este ejemplo también es necesario tener un TextBox y PictureBox agregados a un formulario y que la propiedad ContextMenu de estos controles esté establecida en contextMenu1.This example also requires that you have a TextBox and PictureBox added to a form and that the ContextMenu property of these controls is set to 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

La clase ContextMenu representa los menús contextuales que se pueden mostrar cuando el usuario hace clic con el botón secundario del mouse sobre un control o área del formulario.The ContextMenu class represents shortcut menus that can be displayed when the user clicks the right mouse button over a control or area of the form. Los menús contextuales se usan normalmente para combinar distintos elementos de menú de un MainMenu de un formulario que son útiles para el usuario dado el contexto de la aplicación.Shortcut menus are typically used to combine different menu items from a MainMenu of a form that are useful for the user given the context of the application. Por ejemplo, puede usar un menú contextual asignado a un control TextBox 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.For example, you can use a shortcut menu assigned to a TextBox control to provide menu items for changing the font of the text, finding text within the control, or Clipboard features for copying and pasting text. También puede mostrar los nuevos objetos MenuItem en un menú contextual que no se encuentra dentro de un MainMenu para proporcionar comandos específicos de la situación que no son adecuados para que se muestre el @no__t 2.You can also display new MenuItem objects in a shortcut menu that are not located within a MainMenu to provide situation specific commands that are not appropriate for the MainMenu to display.

Normalmente, se muestra un menú contextual cuando un usuario hace clic con el botón secundario del mouse sobre un control o el propio formulario.Typically, a shortcut menu is displayed when a user clicks the right mouse button over a control or the form itself. Los controles visibles y Form tienen una propiedad ContextMenu que enlaza la clase ContextMenu al control que muestra el menú contextual.Visible controls and Form have a ContextMenu property that binds the ContextMenu class to the control that displays the shortcut menu. Más de un control puede utilizar un ContextMenu.More than one control can use a ContextMenu. Puede usar la propiedad SourceControl para determinar el control que se mostró por última vez en el menú contextual con el fin de realizar tareas específicas del control o modificar el menú contextual que se muestra para el control.You can use the SourceControl property to determine which control last displayed the shortcut menu in order to perform tasks specific to the control or to modify the shortcut menu displayed for the control.

Es posible que desee saber cuándo se muestra el menú contextual con el fin de establecer marcas de verificación, deshabilitar elementos y realizar otras tareas de menú antes de que se muestre el menú al usuario.You might want to know when the shortcut menu is being displayed in order to set check marks, disable items, and perform other menu tasks before the menu is displayed to the user. Puede controlar el evento Popup para determinar cuándo se muestra el menú contextual.You can handle the Popup event to determine when the shortcut menu is being displayed.

Nota

Para reutilizar los objetos MenuItem que se muestran en un MainMenu para su uso en un @no__t 2, debe crear una copia del menú con el método CloneMenu de la clase MenuItem.In order to reuse MenuItem objects that are displayed in a MainMenu for use in a ContextMenu, you must create a copy of the menu using the CloneMenu method of the MenuItem class. También puede combinar elementos de menú y sus elementos de submenú en un único objeto MenuItem con el método MergeMenu de la clase MenuItem.You can also merge menu items and their submenu items into a single MenuItem object using the MergeMenu method of the MenuItem class.

Constructores

ContextMenu()

Inicializa una nueva instancia de la clase ContextMenu sin elementos de menú especificados.Initializes a new instance of the ContextMenu class with no menu items specified.

ContextMenu(MenuItem[])

Inicializa una nueva instancia de la clase ContextMenu con un conjunto especificado de objetos MenuItem.Initializes a new instance of the ContextMenu class with a specified set of MenuItem objects.

Campos

FindHandle

Especifica que el método FindMenuItem(Int32, IntPtr) debe buscar un identificador.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a handle.

(Heredado de Menu)
FindShortcut

Especifica que el método FindMenuItem(Int32, IntPtr) debe buscar un acceso directo.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a shortcut.

(Heredado de Menu)

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Heredado de Component)
Container

Obtiene IContainer que contiene Component.Gets the IContainer that contains the Component.

(Heredado de Component)
DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Heredado de Component)
Handle

Obtiene un valor que representa el identificador de ventana del menú.Gets a value representing the window handle for the menu.

(Heredado de Menu)
IsParent

Obtiene un valor que indica si este menú contiene elementos de menú.Gets a value indicating whether this menu contains any menu items. Esta propiedad es de sólo lectura.This property is read-only.

(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).Gets a value indicating the MenuItem that is used to display a list of multiple document interface (MDI) child forms.

(Heredado de Menu)
MenuItems

Obtiene un valor que indica la colección de objetos MenuItem asociados al menú.Gets a value indicating the collection of MenuItem objects associated with the menu.

(Heredado de Menu)
Name

Obtiene o establece el nombre de Menu.Gets or sets the name of the Menu.

(Heredado de Menu)
RightToLeft

Obtiene o establece un valor que indica si el texto que muestra el control aparece de derecha a izquierda.Gets or sets a value indicating whether text displayed by the control is displayed from right to left.

Site

Obtiene o establece el ISite de Component.Gets or sets the ISite of the Component.

(Heredado de Component)
SourceControl

Obtiene el control que muestra el menú contextual.Gets the control that is displaying the shortcut menu.

Tag

Obtiene o establece los datos definidos por el usuario asociados con el control.Gets or sets user-defined data associated with the control.

(Heredado de Menu)

Métodos

CloneMenu(Menu)

Copia el objeto Menu que se pasa como un parámetro al objeto Menu actual.Copies the Menu that is passed as a parameter to the current Menu.

(Heredado de Menu)
CreateMenuHandle()

Crea un nuevo identificador para Menu.Creates a new handle to the 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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.Releases all resources used by the Component.

(Heredado de Component)
Dispose(Boolean)

Se deshace de los recursos (distintos de la memoria) que usa Menu.Disposes of the resources, other than memory, used by the Menu.

(Heredado de Menu)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
FindMenuItem(Int32, IntPtr)

Obtiene el objeto MenuItem que contiene el valor especificado.Gets the MenuItem that contains the value specified.

(Heredado de Menu)
FindMergePosition(Int32)

Devuelve la posición en la que se debe insertar un elemento de menú.Returns the position at which a menu item should be inserted into the menu.

(Heredado de Menu)
GetContextMenu()

Obtiene el objeto ContextMenu que contiene este menú.Gets the ContextMenu that contains this menu.

(Heredado de Menu)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetMainMenu()

Obtiene el objeto MainMenu que contiene este menú.Gets the MainMenu that contains this menu.

(Heredado de Menu)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
MergeMenu(Menu)

Combina los objetos MenuItem de un menú en el menú actual.Merges the MenuItem objects of one menu with the current menu.

(Heredado de Menu)
OnCollapse(EventArgs)

Genera el evento Collapse.Raises the Collapse event.

OnPopup(EventArgs)

Genera el evento Popup.Raises the Popup event.

ProcessCmdKey(Message, Keys)

Procesa una tecla de comando.Processes a command key.

(Heredado de Menu)
ProcessCmdKey(Message, Keys, Control)

Procesa una tecla de comando.Processes a command key.

Show(Control, Point)

Muestra el menú contextual en la posición especificada.Displays the shortcut menu at the specified position.

Show(Control, Point, LeftRightAlignment)

Muestra el menú contextual en la posición y con la alineación especificadas.Displays the shortcut menu at the specified position and with the specified alignment.

ToString()

Devuelve una cadena String que representa el control Menu.Returns a String that represents the Menu control.

(Heredado de Menu)

Eventos

Collapse

Se produce cuando se contrae el menú contextual.Occurs when the shortcut menu collapses.

Disposed

Se produce cuando el componente se elimina mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Heredado de Component)
Popup

Se produce antes de mostrarse el menú contextual.Occurs before the shortcut menu is displayed.

Se aplica a

Consulte también: