ContextMenu Classe

Definizione

Viene visualizzato un menu di scelta rapida.

Questa classe non è disponibile in .NET Core 3.1 e versioni successive. Utilizzare ContextMenuStrip invece , che sostituisce ed estende il ContextMenu controllo .

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 di ContextMenu. Il codice nel gestore eventi determina quali di due controlli un PictureBox oggetto denominato pictureBox1 e un TextBox denominato textBox1 è il controllo che visualizza il menu di scelta rapida. A seconda del controllo che ha causato la visualizzazione del ContextMenu relativo menu di scelta rapida, il controllo aggiunge gli oggetti appropriati MenuItem a ContextMenu. In questo esempio è necessario disporre di un'istanza della ContextMenu classe denominata , definita contextMenu1all'interno del modulo. In questo esempio è inoltre necessario che sia presente un TextBox oggetto e PictureBox aggiunto a una maschera e che la ContextMenu proprietà di questi controlli sia impostata su 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

Questa classe non è disponibile in .NET Core 3.1 e versioni successive. In alternativa, utilizzare ContextMenuStrip.

La ContextMenu classe rappresenta i menu di scelta rapida che possono essere visualizzati quando l'utente fa clic sul pulsante destro del mouse su un controllo o un'area del modulo. I menu di scelta rapida vengono in genere usati per combinare voci di menu diverse da un MainMenu modulo utili per l'utente in base al contesto dell'applicazione. Ad esempio, è possibile utilizzare un menu di scelta rapida assegnato a un TextBox controllo 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. È anche possibile visualizzare nuovi MenuItem oggetti in un menu di scelta rapida che non si trovano all'interno di un MainMenu oggetto per fornire comandi specifici della situazione che non sono appropriati per la MainMenu visualizzazione di .

In genere, viene visualizzato un menu di scelta rapida quando un utente fa clic sul pulsante destro del mouse su un controllo o sul modulo stesso. Controlli visibili e Form hanno una ContextMenu proprietà che associa la ContextMenu classe al controllo che visualizza il menu di scelta rapida. Più di un controllo può usare un oggetto ContextMenu. È possibile utilizzare la SourceControl proprietà per determinare l'ultimo controllo visualizzato dal menu di scelta rapida per eseguire attività specifiche del controllo o per modificare il menu di scelta rapida visualizzato per il controllo.

È possibile sapere quando viene visualizzato il menu di scelta rapida per impostare i segni di spunta, disabilitare le voci ed eseguire altre attività di menu prima che il menu venga visualizzato all'utente. È possibile gestire l'evento Popup per determinare quando viene visualizzato il menu di scelta rapida.

Nota

Per riutilizzare MenuItem gli oggetti visualizzati in un MainMenu oggetto da utilizzare in , ContextMenuè necessario creare una copia del menu usando il CloneMenu metodo della MenuItem classe . È anche possibile unire voci di menu e i relativi sottomenu in un singolo MenuItem oggetto usando il MergeMenu metodo della MenuItem classe .

Costruttori

ContextMenu()

Inizializza una nuova istanza della classe ContextMenu senza voci di menu specificate.

ContextMenu(MenuItem[])

Inizializza una nuova istanza della classe ContextMenu con un gruppo specificato di oggetti MenuItem.

Campi

FindHandle

Specifica che il metodo FindMenuItem(Int32, IntPtr) deve eseguire la ricerca di un handle.

(Ereditato da Menu)
FindShortcut

Specifica che il metodo FindMenuItem(Int32, IntPtr) deve eseguire la ricerca di un collegamento.

(Ereditato da Menu)

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.

(Ereditato da Component)
Container

Ottiene l'oggetto IContainer che contiene Component.

(Ereditato da Component)
DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.

(Ereditato da Component)
Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.

(Ereditato da Component)
Handle

Ottiene un valore che rappresenta l'handle della finestra per il menu.

(Ereditato da Menu)
IsParent

Ottiene un valore che indica se questo menu contiene voci di menu. Questa proprietà è di sola lettura.

(Ereditato da Menu)
MdiListItem

Ottiene un valore che indica l'oggetto MenuItem utilizzato per visualizzare un elenco di form figlio Multiple Document Interface (MDI).

(Ereditato da Menu)
MenuItems

Ottiene un valore che indica l'insieme degli oggetti MenuItem associato al menu.

(Ereditato da Menu)
Name

Ottiene o imposta il nome di Menu.

(Ereditato da Menu)
RightToLeft

Ottiene o imposta un valore che indica se la visualizzazione del testo del controllo procede da destra a sinistra.

Site

Ottiene o imposta l'oggetto ISite di Component.

(Ereditato da Component)
SourceControl

Ottiene il controllo in cui è visualizzato il menu di scelta rapida.

Tag

Ottiene o imposta dati definiti dall'utente associati al controllo.

(Ereditato da Menu)

Metodi

CloneMenu(Menu)

Copia l'oggetto Menu passato come parametro all'oggetto Menu corrente.

(Ereditato da Menu)
CreateMenuHandle()

Crea un nuovo handle per l'oggetto 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.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

Elimina le risorse, diverse dalla memoria, usate da Menu.

(Ereditato da Menu)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindMenuItem(Int32, IntPtr)

Ottiene l'oggetto MenuItem che contiene il valore specificato.

(Ereditato da Menu)
FindMergePosition(Int32)

Restituisce la posizione in cui dovrebbe essere inserita una voce all'interno del menu.

(Ereditato da Menu)
GetContextMenu()

Ottiene l'oggetto ContextMenu che contiene questo menu.

(Ereditato da Menu)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetMainMenu()

Ottiene l'oggetto MainMenu che contiene questo menu.

(Ereditato da Menu)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
MergeMenu(Menu)

Unisce gli oggetti MenuItem di un menu con il menu corrente.

(Ereditato da Menu)
OnCollapse(EventArgs)

Genera l'evento Collapse.

OnPopup(EventArgs)

Genera l'evento Popup.

ProcessCmdKey(Message, Keys)

Elabora un tasto di comando.

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

Elabora un tasto di comando.

Show(Control, Point)

Visualizza il menu di scelta rapida nella posizione specificata.

Show(Control, Point, LeftRightAlignment)

Visualizza il menu di scelta rapida in una determinata posizione con l'allineamento specificato.

ToString()

Restituisce una stringa String che rappresenta il controllo Menu.

(Ereditato da Menu)

Eventi

Collapse

Si verifica quando un menu di scelta rapida viene compresso.

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().

(Ereditato da Component)
Popup

Si verifica prima della visualizzazione del menu di scelta rapida.

Si applica a

Vedi anche