ContextMenu Classe

Definição

Representa um menu de atalho.Represents a shortcut menu. Embora ContextMenuStrip substitua e adicione funcionalidade ao controle ContextMenu de versões anteriores, ContextMenu é mantido para compatibilidade com versões anteriores e uso futuro, se desejado.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
Herança

Exemplos

O exemplo de código a seguir cria um manipulador de eventos para o evento Popup do ContextMenu.The following code example creates an event handler for the Popup event of the ContextMenu. O código no manipulador de eventos determina qual dos dois controles um PictureBox nomeado pictureBox1 e um TextBox chamado textBox1 é o controle que exibe o menu de atalho.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. Dependendo de qual controle fez com que o ContextMenu exiba seu menu de atalho, o controle adiciona os objetos MenuItem apropriados para o ContextMenu.Depending on which control caused the ContextMenu to display its shortcut menu, the control adds the appropriate MenuItem objects to the ContextMenu. Este exemplo requer que você tenha uma instância da classe ContextMenu, chamada contextMenu1, definida no formulário.This example requires that you have an instance of the ContextMenu class, named contextMenu1, defined within the form. Este exemplo também exige que você tenha um TextBox e PictureBox adicionados a um formulário e que a propriedade ContextMenu desses controles esteja definida como 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

Comentários

A classe ContextMenu representa menus de atalho que podem ser exibidos quando o usuário clica com o botão direito do mouse sobre um controle ou uma área do formulário.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. Os menus de atalho são normalmente usados para combinar itens de menu diferentes de um MainMenu de um formulário que são úteis para o usuário, dado o contexto do aplicativo.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 exemplo, você pode usar um menu de atalho atribuído a um controle TextBox para fornecer itens de menu para alterar a fonte do texto, localizar texto dentro do controle ou recursos da área de transferência para copiar e colar 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. Você também pode exibir novos objetos MenuItem em um menu de atalho que não estão localizados em um MainMenu para fornecer comandos específicos da situação que não são apropriados para o MainMenu exibir.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, um menu de atalho é exibido quando um usuário clica com o botão direito do mouse sobre um controle ou o próprio formulário.Typically, a shortcut menu is displayed when a user clicks the right mouse button over a control or the form itself. Os controles visíveis e Form têm uma propriedade ContextMenu que associa a classe ContextMenu ao controle que exibe o menu de atalho.Visible controls and Form have a ContextMenu property that binds the ContextMenu class to the control that displays the shortcut menu. Mais de um controle pode usar um ContextMenu.More than one control can use a ContextMenu. Você pode usar a propriedade SourceControl para determinar qual controle foi exibido pela última vez no menu de atalho a fim de executar tarefas específicas ao controle ou modificar o menu de atalho exibido para o controle.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.

Talvez você queira saber quando o menu de atalho está sendo exibido para definir marcas de seleção, Desabilitar itens e executar outras tarefas de menu antes que o menu seja exibido para o usuário.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. Você pode manipular o evento Popup para determinar quando o menu de atalho está sendo exibido.You can handle the Popup event to determine when the shortcut menu is being displayed.

Observação

Para reutilizar os objetos MenuItem exibidos em um MainMenu para uso em um ContextMenu, você deve criar uma cópia do menu usando o método CloneMenu da classe 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. Você também pode mesclar itens de menu e seus itens de submenu em um único objeto MenuItem usando o método MergeMenu da classe MenuItem.You can also merge menu items and their submenu items into a single MenuItem object using the MergeMenu method of the MenuItem class.

Construtores

ContextMenu()

Inicializa uma nova instância da classe ContextMenu sem nenhum item de menu especificado.Initializes a new instance of the ContextMenu class with no menu items specified.

ContextMenu(MenuItem[])

Inicializa uma nova instância da classe ContextMenu com conjunto de objetos MenuItem especificado.Initializes a new instance of the ContextMenu class with a specified set of MenuItem objects.

Campos

FindHandle

Especifica que o método FindMenuItem(Int32, IntPtr) deve pesquisar por um identificador.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a handle.

(Herdado de Menu)
FindShortcut

Especifica que o método FindMenuItem(Int32, IntPtr) deve pesquisar por um atalho.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a shortcut.

(Herdado de Menu)

Propriedades

CanRaiseEvents

Obtém um valor que indica se o componente pode acionar um evento.Gets a value indicating whether the component can raise an event.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.Gets the IContainer that contains the Component.

(Herdado de Component)
DesignMode

Obtém um valor que indica se o Component está no modo de design no momento.Gets a value that indicates whether the Component is currently in design mode.

(Herdado de Component)
Events

Obtém a lista de manipuladores de eventos que estão anexados a este Component.Gets the list of event handlers that are attached to this Component.

(Herdado de Component)
Handle

Obtém um valor que representa o identificador de janela do menu.Gets a value representing the window handle for the menu.

(Herdado de Menu)
IsParent

Obtém um valor que indica se este menu contém algum item de menu.Gets a value indicating whether this menu contains any menu items. Esta propriedade é somente para leitura.This property is read-only.

(Herdado de Menu)
MdiListItem

Obtém um valor que indica o MenuItem usado para exibir uma lista de formulários filho da interface MDI (interface de vários documentos).Gets a value indicating the MenuItem that is used to display a list of multiple document interface (MDI) child forms.

(Herdado de Menu)
MenuItems

Obtém um valor que indica a coleção de objetos MenuItem associados ao menu.Gets a value indicating the collection of MenuItem objects associated with the menu.

(Herdado de Menu)
Name

Obtém ou define o nome de Menu.Gets or sets the name of the Menu.

(Herdado de Menu)
RightToLeft

Obtém ou define um valor que indica se o texto exibido pelo controle é exibido da direita para a esquerda.Gets or sets a value indicating whether text displayed by the control is displayed from right to left.

Site

Obtém ou define o ISite do Component.Gets or sets the ISite of the Component.

(Herdado de Component)
SourceControl

Obtém o controle que está exibindo o menu de atalho.Gets the control that is displaying the shortcut menu.

Tag

Obtém ou define dados definidos pelo usuário associados ao controle.Gets or sets user-defined data associated with the control.

(Herdado de Menu)

Métodos

CloneMenu(Menu)

Copia o Menu que é passado como um parâmetro para o Menu atual.Copies the Menu that is passed as a parameter to the current Menu.

(Herdado de Menu)
CreateMenuHandle()

Cria um novo identificador para o Menu.Creates a new handle to the Menu.

(Herdado de Menu)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
Dispose()

Libera todos os recursos usados pelo Component.Releases all resources used by the Component.

(Herdado de Component)
Dispose(Boolean)

Descarta os recursos (exceto a memória) usados pelo Menu.Disposes of the resources, other than memory, used by the Menu.

(Herdado de Menu)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
FindMenuItem(Int32, IntPtr)

Obtém o MenuItem que contém o valor especificado.Gets the MenuItem that contains the value specified.

(Herdado de Menu)
FindMergePosition(Int32)

Retorna a posição em que um item de menu deve ser inserido no menu.Returns the position at which a menu item should be inserted into the menu.

(Herdado de Menu)
GetContextMenu()

Obtém o ContextMenu que contém este menu.Gets the ContextMenu that contains this menu.

(Herdado de Menu)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetMainMenu()

Obtém o MainMenu que contém este menu.Gets the MainMenu that contains this menu.

(Herdado de Menu)
GetService(Type)

Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.Returns an object that represents a service provided by the Component or by its Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
InitializeLifetimeService()

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
MergeMenu(Menu)

Mescla os objetos MenuItem de um menu com o menu atual.Merges the MenuItem objects of one menu with the current menu.

(Herdado de Menu)
OnCollapse(EventArgs)

Aciona o evento Collapse.Raises the Collapse event.

OnPopup(EventArgs)

Aciona o evento Popup.Raises the Popup event.

ProcessCmdKey(Message, Keys)

Processa uma chave de comando.Processes a command key.

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

Processa uma chave de comando.Processes a command key.

Show(Control, Point)

Exibe o menu de atalho na posição especificada.Displays the shortcut menu at the specified position.

Show(Control, Point, LeftRightAlignment)

Exibe o menu de atalho na posição especificada e com o alinhamento especificado.Displays the shortcut menu at the specified position and with the specified alignment.

ToString()

Retorna uma String que representa o controle Menu.Returns a String that represents the Menu control.

(Herdado de Menu)

Eventos

Collapse

Ocorre quando menu de atalho é recolhido.Occurs when the shortcut menu collapses.

Disposed

Ocorre quando o componente é disposto por uma chamada para o método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Herdado de Component)
Popup

Ocorre antes que o menu de atalho é exibido.Occurs before the shortcut menu is displayed.

Aplica-se a

Veja também