ContextMenu Classe

Definizione

Viene visualizzato un menu di scelta rapida.Represents a shortcut menu. Benché il controllo ContextMenuStrip sostituisca il controllo ContextMenu delle versioni precedenti aggiungendo funzionalità, il controllo ContextMenu viene mantenuto per compatibilità con le versioni precedenti e per utilizzo futuro se lo si desidera.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
Ereditarietà

Esempio

Nell'esempio di codice seguente viene creato un gestore eventi per l'evento Popup della ContextMenu.The following code example creates an event handler for the Popup event of the ContextMenu. Il codice nel gestore eventi determina quale di due controlli un PictureBox denominato pictureBox1 e un TextBox denominato textBox1 è il controllo che Visualizza il menu di scelta rapida.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. A seconda del controllo che ha causato la visualizzazione del menu di scelta rapida da parte del ContextMenu, il controllo aggiunge gli oggetti MenuItem appropriati al ContextMenu.Depending on which control caused the ContextMenu to display its shortcut menu, the control adds the appropriate MenuItem objects to the ContextMenu. Per questo esempio è necessario disporre di un'istanza della classe ContextMenu, denominata contextMenu1, definita all'interno del modulo.This example requires that you have an instance of the ContextMenu class, named contextMenu1, defined within the form. Questo esempio richiede anche la presenza di una TextBox e PictureBox aggiunta a un modulo e che la proprietà ContextMenu di questi controlli sia impostata su 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

Commenti

La classe ContextMenu rappresenta i menu di scelta rapida che possono essere visualizzati quando l'utente fa clic con il pulsante destro del mouse su un controllo o un'area del form.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. I menu di scelta rapida vengono in genere utilizzati per combinare voci di menu diverse da un MainMenu di un modulo che risulta utile per l'utente in base al contesto dell'applicazione.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. Ad esempio, è possibile usare un menu di scelta rapida assegnato a un controllo TextBox per fornire voci di menu per modificare il tipo di carattere del testo, trovare il testo all'interno del controllo o le funzionalità degli Appunti per copiare e incollare il testo.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. È anche possibile visualizzare nuovi oggetti MenuItem in un menu di scelta rapida che non si trovano all'interno di un MainMenu per fornire comandi specifici per la situazione che non sono appropriati per il MainMenu da visualizzare.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.

In genere, un menu di scelta rapida viene visualizzato quando un utente fa clic con il pulsante destro del mouse su un controllo o sul form.Typically, a shortcut menu is displayed when a user clicks the right mouse button over a control or the form itself. I controlli visibili e Form hanno una proprietà ContextMenu che associa la classe ContextMenu al controllo che Visualizza il menu di scelta rapida.Visible controls and Form have a ContextMenu property that binds the ContextMenu class to the control that displays the shortcut menu. Più di un controllo può utilizzare un ContextMenu.More than one control can use a ContextMenu. È possibile utilizzare la proprietà SourceControl per determinare quale controllo ha visualizzato per ultimo il menu di scelta rapida per eseguire attività specifiche del controllo o per modificare il menu di scelta rapida visualizzato per il controllo.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.

Per impostare i segni di spunta, disabilitare gli elementi ed eseguire altre attività di menu prima che il menu venga visualizzato all'utente, è possibile che si desideri essere a conoscenza della visualizzazione del menu di scelta rapida.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. È possibile gestire l'evento Popup per determinare quando viene visualizzato il menu di scelta rapida.You can handle the Popup event to determine when the shortcut menu is being displayed.

Nota

Per riutilizzare MenuItem oggetti visualizzati in una MainMenu da utilizzare in un ContextMenu, è necessario creare una copia del menu utilizzando il metodo CloneMenu della 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. È anche possibile unire voci di menu e le relative voci di sottomenu in un singolo oggetto MenuItem usando il metodo MergeMenu della 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.

Costruttori

ContextMenu()

Inizializza una nuova istanza della classe ContextMenu senza voci di menu specificate.Initializes a new instance of the ContextMenu class with no menu items specified.

ContextMenu(MenuItem[])

Inizializza una nuova istanza della classe ContextMenu con un gruppo specificato di oggetti MenuItem.Initializes a new instance of the ContextMenu class with a specified set of MenuItem objects.

Campi

FindHandle

Specifica che il metodo FindMenuItem(Int32, IntPtr) deve eseguire la ricerca di un handle.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a handle.

(Ereditato da Menu)
FindShortcut

Specifica che il metodo FindMenuItem(Int32, IntPtr) deve eseguire la ricerca di un collegamento.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a shortcut.

(Ereditato da Menu)

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Ereditato da Component)
Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Ereditato da Component)
DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Ereditato da Component)
Handle

Ottiene un valore che rappresenta l'handle della finestra per il menu.Gets a value representing the window handle for the menu.

(Ereditato da Menu)
IsParent

Ottiene un valore che indica se questo menu contiene voci di menu.Gets a value indicating whether this menu contains any menu items. Questa proprietà è di sola lettura.This property is read-only.

(Ereditato da Menu)
MdiListItem

Ottiene un valore che indica l'oggetto MenuItem utilizzato per visualizzare un elenco di form figlio Multiple Document Interface (MDI).Gets a value indicating the MenuItem that is used to display a list of multiple document interface (MDI) child forms.

(Ereditato da Menu)
MenuItems

Ottiene un valore che indica l'insieme degli oggetti MenuItem associato al menu.Gets a value indicating the collection of MenuItem objects associated with the menu.

(Ereditato da Menu)
Name

Ottiene o imposta il nome dell'oggetto Menu.Gets or sets the name of the Menu.

(Ereditato da Menu)
RightToLeft

Ottiene o imposta un valore che indica se la visualizzazione del testo del controllo procede da destra a sinistra.Gets or sets a value indicating whether text displayed by the control is displayed from right to left.

Site

Ottiene o imposta l'oggetto ISite dell'oggetto Component.Gets or sets the ISite of the Component.

(Ereditato da Component)
SourceControl

Ottiene il controllo in cui è visualizzato il menu di scelta rapida.Gets the control that is displaying the shortcut menu.

Tag

Ottiene o imposta dati definiti dall'utente associati al controllo.Gets or sets user-defined data associated with the control.

(Ereditato da Menu)

Metodi

CloneMenu(Menu)

Copia l'oggetto Menu passato come parametro all'oggetto Menu corrente.Copies the Menu that is passed as a parameter to the current Menu.

(Ereditato da Menu)
CreateMenuHandle()

Crea un nuovo handle per l'oggetto Menu.Creates a new handle to the Menu.

(Ereditato da Menu)
CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Ereditato da Component)
Dispose(Boolean)

Elimina le risorse, diverse dalla memoria, usate da Menu.Disposes of the resources, other than memory, used by the Menu.

(Ereditato da Menu)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
FindMenuItem(Int32, IntPtr)

Ottiene l'oggetto MenuItem che contiene il valore specificato.Gets the MenuItem that contains the value specified.

(Ereditato da Menu)
FindMergePosition(Int32)

Restituisce la posizione in cui dovrebbe essere inserita una voce all'interno del menu.Returns the position at which a menu item should be inserted into the menu.

(Ereditato da Menu)
GetContextMenu()

Ottiene l'oggetto ContextMenu che contiene questo menu.Gets the ContextMenu that contains this menu.

(Ereditato da Menu)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetMainMenu()

Ottiene l'oggetto MainMenu che contiene questo menu.Gets the MainMenu that contains this menu.

(Ereditato da Menu)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
MergeMenu(Menu)

Unisce gli oggetti MenuItem di un menu con il menu corrente.Merges the MenuItem objects of one menu with the current menu.

(Ereditato da Menu)
OnCollapse(EventArgs)

Genera l'evento Collapse.Raises the Collapse event.

OnPopup(EventArgs)

Genera l'evento Popup.Raises the Popup event.

ProcessCmdKey(Message, Keys)

Elabora un tasto di comando.Processes a command key.

(Ereditato da Menu)
ProcessCmdKey(Message, Keys, Control)

Elabora un tasto di comando.Processes a command key.

Show(Control, Point)

Visualizza il menu di scelta rapida nella posizione specificata.Displays the shortcut menu at the specified position.

Show(Control, Point, LeftRightAlignment)

Visualizza il menu di scelta rapida in una determinata posizione con l'allineamento specificato.Displays the shortcut menu at the specified position and with the specified alignment.

ToString()

Restituisce una stringa String che rappresenta il controllo Menu.Returns a String that represents the Menu control.

(Ereditato da Menu)

Eventi

Collapse

Si verifica quando un menu di scelta rapida viene compresso.Occurs when the shortcut menu collapses.

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Ereditato da Component)
Popup

Si verifica prima della visualizzazione del menu di scelta rapida.Occurs before the shortcut menu is displayed.

Si applica a

Vedi anche