ContextMenu Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um menu de atalho.
Esta classe não está disponível no .NET Core 3.1 nem em versões posteriores. Em vez disso, use ContextMenuStrip , que substitui e estende o ContextMenu controle .
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 ContextMenuseguir cria um manipulador de eventos para o Popup evento do . O código no manipulador de eventos determina qual dos dois controles um PictureBox nomeado pictureBox1
e um TextBox nomeado textBox1
é o controle que exibe o menu de atalho. Dependendo de qual controle fez com que o ContextMenu exibisse seu menu de atalho, o controle adiciona os objetos apropriados MenuItem ao ContextMenu. Este exemplo exige que você tenha uma instância da ContextMenu classe, chamada contextMenu1
, definida dentro do formulário. Este exemplo também requer que você tenha um TextBox e PictureBox adicionado a um formulário e que a ContextMenu propriedade desses controles seja definida contextMenu1
como .
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
Esta classe não está disponível no .NET Core 3.1 nem em versões posteriores. Use ContextMenuStrip em seu lugar.
A ContextMenu classe representa menus de atalho que podem ser exibidos quando o usuário clica no botão direito do mouse sobre um controle ou área do formulário. Os menus de atalho normalmente são usados para combinar diferentes itens de menu de um MainMenu formulário que são úteis para o usuário, considerando o contexto do aplicativo. Por exemplo, você pode usar um menu de atalho atribuído a um TextBox controle 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. Você também pode exibir novos MenuItem objetos em um menu de atalho que não estão localizados em um MainMenu para fornecer comandos específicos de situação que não são apropriados para exibição MainMenu .
Normalmente, um menu de atalho é exibido quando um usuário clica no botão direito do mouse sobre um controle ou o próprio formulário. Controles visíveis e Form têm uma ContextMenu propriedade que associa a ContextMenu classe ao controle que exibe o menu de atalho. Mais de um controle pode usar um ContextMenu. Você pode usar a SourceControl propriedade para determinar qual controle exibiu pela última vez o menu de atalho para executar tarefas específicas ao controle ou modificar o menu de atalho exibido para o controle.
Talvez você queira saber quando o menu de atalho está sendo exibido para definir marcar marcas, desabilitar itens e executar outras tarefas de menu antes que o menu seja exibido para o usuário. Você pode manipular o Popup evento para determinar quando o menu de atalho está sendo exibido.
Observação
Para reutilizar MenuItem objetos exibidos em um MainMenu para uso em um ContextMenu, você deve criar uma cópia do menu usando o CloneMenu método da MenuItem classe . Você também pode mesclar itens de menu e seus itens de submenu em um único MenuItem objeto usando o MergeMenu método da MenuItem classe .
Construtores
ContextMenu() |
Inicializa uma nova instância da classe ContextMenu sem nenhum item de menu especificado. |
ContextMenu(MenuItem[]) |
Inicializa uma nova instância da classe ContextMenu com conjunto de objetos MenuItem especificado. |
Campos
FindHandle |
Especifica que o método FindMenuItem(Int32, IntPtr) deve pesquisar por um identificador. (Herdado de Menu) |
FindShortcut |
Especifica que o método FindMenuItem(Int32, IntPtr) deve pesquisar por um atalho. (Herdado de Menu) |
Propriedades
CanRaiseEvents |
Obtém um valor que indica se o componente pode acionar 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á no modo de design no momento. (Herdado de Component) |
Events |
Obtém a lista de manipuladores de eventos que estão anexados a este Component. (Herdado de Component) |
Handle |
Obtém um valor que representa o identificador de janela do menu. (Herdado de Menu) |
IsParent |
Obtém um valor que indica se este menu contém algum item de menu. Esta propriedade é somente para leitura. (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). (Herdado de Menu) |
MenuItems |
Obtém um valor que indica a coleção de objetos MenuItem associados ao menu. (Herdado de Menu) |
Name |
Obtém ou define o nome de 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. |
Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
SourceControl |
Obtém o controle que está exibindo o menu de atalho. |
Tag |
Obtém ou define dados definidos pelo usuário associados ao controle. (Herdado de Menu) |
Métodos
CloneMenu(Menu) |
Copia o Menu que é passado como um parâmetro para o Menu atual. (Herdado de Menu) |
CreateMenuHandle() |
Cria um novo identificador para o 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. (Herdado de MarshalByRefObject) |
Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
Dispose(Boolean) |
Descarta 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) |
Retorna a posição em que um item de menu deve ser inserido no menu. (Herdado de Menu) |
GetContextMenu() |
Obtém o ContextMenu que contém este menu. (Herdado de Menu) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância. (Herdado de MarshalByRefObject) |
GetMainMenu() |
Obtém o MainMenu que contém este menu. (Herdado de Menu) |
GetService(Type) |
Retorna 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() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
MergeMenu(Menu) |
Mescla os objetos MenuItem de um menu com o menu atual. (Herdado de Menu) |
OnCollapse(EventArgs) |
Aciona o evento Collapse. |
OnPopup(EventArgs) |
Aciona o evento Popup. |
ProcessCmdKey(Message, Keys) |
Processa uma chave de comando. (Herdado de Menu) |
ProcessCmdKey(Message, Keys, Control) |
Processa uma chave de comando. |
Show(Control, Point) |
Exibe o menu de atalho na posição especificada. |
Show(Control, Point, LeftRightAlignment) |
Exibe o menu de atalho na posição especificada e com o alinhamento especificado. |
ToString() |
Retorna uma String que representa o controle Menu. (Herdado de Menu) |
Eventos
Collapse |
Ocorre quando menu de atalho é recolhido. |
Disposed |
Ocorre quando o componente é disposto por uma chamada ao método Dispose(). (Herdado de Component) |
Popup |
Ocorre antes que o menu de atalho é exibido. |