ContextMenu Classe

Definição

Representa um menu de atalho.

Esta classe não está disponível no .NET Core 3.1 e versões posteriores. Use ContextMenuStrip em vez disso, o que substitui e estende o ContextMenu controlo.

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 seguinte cria um gestor de eventos para o Popup evento do ContextMenu. O código no gestor de eventos determina qual dos dois controlos, um PictureBox nomeado pictureBox1 e um TextBox nomeado textBox1 , é o controlo que exibe o menu de atalho. Dependendo de qual controlo fez com que o ContextMenu apresente o menu de atalhos, o controlo adiciona os objetos apropriados MenuItem ao ContextMenu. Este exemplo exige que tenha uma instância da ContextMenu classe, chamada contextMenu1, definida dentro do formulário. Este exemplo também exige que tenha um TextBox e adicionado a uma forma e que a ContextMenu propriedade destes controlos seja definida para contextMenu1PictureBox .

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

Observações

Esta classe não está disponível no .NET Core 3.1 e versões posteriores. Utilize ContextMenuStrip em substituição.

A ContextMenu classe representa menus de atalho que podem ser exibidos quando o utilizador clica no botão direito do rato sobre um controlo ou área do formulário. Os menus de atalho são tipicamente usados para combinar diferentes itens do menu de um MainMenu formulário que são úteis para o utilizador, dado o contexto da aplicação. Por exemplo, pode usar um menu de atalho atribuído a um TextBox controlo para fornecer itens do menu para alterar a fonte do texto, encontrar texto dentro do controlo, ou funcionalidades de Transferência para copiar e colar texto. Também pode mostrar novos MenuItem objetos num menu de atalho que não estejam localizados MainMenu num para fornecer comandos específicos de situações que não são apropriados para a visualização MainMenu .

Normalmente, um menu de atalho é exibido quando o utilizador clica no botão direito do rato sobre um controlo ou sobre o próprio formulário. Controlos visíveis e Form têm uma ContextMenu propriedade que associa a ContextMenu classe ao controlo que mostra o menu de atalho. Mais do que um controlo pode usar um ContextMenu. Pode usar a SourceControl propriedade para determinar qual dos atalhos do menu de atalhos foi exibido por última vez para realizar tarefas específicas do controlo ou para modificar o menu de atalhos exibido para o controlo.

Pode querer saber quando o menu de atalho está a ser exibido para definir marcas de verificação, desativar itens e realizar outras tarefas do menu antes de o menu ser mostrado ao utilizador. Podes gerir o Popup evento para determinar quando o menu de atalhos está a ser exibido.

Note

Para reutilizar MenuItem objetos que são exibidos num MainMenu para uso num ContextMenu, deve criar uma cópia do menu usando o CloneMenu método da MenuItem classe. Também podes fundir itens do menu e os seus itens do submenu num único MenuItem objeto usando o MergeMenu método da MenuItem classe.

Construtores

Name Description
ContextMenu()

Inicializa uma nova instância da ContextMenu classe sem itens de menu especificados.

ContextMenu(MenuItem[])

Inicializa uma nova instância da ContextMenu classe com um conjunto especificado de MenuItem objetos.

Campos

Name Description
FindHandle

Especifica que o FindMenuItem(Int32, IntPtr) método deve procurar um handle.

(Herdado de Menu)
FindShortcut

Especifica que o FindMenuItem(Int32, IntPtr) método deve procurar um atalho.

(Herdado de Menu)

Propriedades

Name Description
CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
DesignMode

Obtém um valor que indica se o Component está atualmente em modo de design.

(Herdado de Component)
Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
Handle

Recebe um valor que representa a manivela da janela para o menu.

(Herdado de Menu)
IsParent

Recebe um valor que indica se este menu contém algum item do menu. Esta propriedade é somente leitura.

(Herdado de Menu)
MdiListItem

Recebe um valor que indica que MenuItem é usado para mostrar uma lista de formulários filhos de múltiplos documentos (MDI).

(Herdado de Menu)
MenuItems

Recebe um valor que indica a coleção de MenuItem objetos associados ao menu.

(Herdado de Menu)
Name

Obtém ou define o nome do Menu.

(Herdado de Menu)
RightToLeft

Recebe ou define um valor que indica se o texto apresentado pelo controlo é exibido da direita para a esquerda.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
SourceControl

Recebe o controlo que está a mostrar o menu de atalhos.

Tag

Obtém ou define dados definidos pelo utilizador associados ao controlo.

(Herdado de Menu)

Métodos

Name Description
CloneMenu(Menu)

Copia o Menu que é passado como parâmetro para a corrente Menu.

(Herdado de Menu)
CreateMenuHandle()

Cria uma nova alça para o Menu.

(Herdado de Menu)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Elimina os recursos, exceto a memória, usados pelo Menu.

(Herdado de Menu)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindMenuItem(Int32, IntPtr)

Obtém o MenuItem que contém o valor especificado.

(Herdado de Menu)
FindMergePosition(Int32)

Devolve a posição em que um item do menu deve ser inserido no menu.

(Herdado de Menu)
GetContextMenu()

Recebe o ContextMenu que contém este menu.

(Herdado de Menu)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetMainMenu()

Recebe o MainMenu que contém este menu.

(Herdado de Menu)
GetService(Type)

Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
MergeMenu(Menu)

Funde os MenuItem objetos de um menu com o menu atual.

(Herdado de Menu)
OnCollapse(EventArgs)

Eleva o Collapse evento.

OnPopup(EventArgs)

Eleva o Popup evento.

ProcessCmdKey(Message, Keys, Control)

Processa uma tecla de comando.

ProcessCmdKey(Message, Keys)

Processa uma tecla de comando.

(Herdado de Menu)
Show(Control, Point, LeftRightAlignment)

Mostra o menu de atalhos na posição especificada e com o alinhamento especificado.

Show(Control, Point)

Mostra o menu de atalho na posição especificada.

ToString()

Devolve a String que representa o Menu controlo.

(Herdado de Menu)

evento

Name Description
Collapse

Acontece quando o menu de atalho colapsa.

Disposed

Ocorre quando o componente é eliminado por uma chamada ao Dispose() método.

(Herdado de Component)
Popup

Ocorre antes de o menu de atalho ser exibido.

Aplica-se a

Ver também