ContextMenu Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 contextMenu1
all'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. |