ContextMenu.Popup Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje przed wyświetleniem menu skrótów.
public:
event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler
Public Custom Event Popup As EventHandler
Typ zdarzenia
Przykłady
Poniższy przykład kodu tworzy procedurę obsługi zdarzeń dla Popup zdarzenia ContextMenu. Kod w procedurze obsługi zdarzeń określa, które z dwóch kontrolek ma PictureBox nazwę pictureBox1
, a TextBox nazwa textBox1
jest kontrolką wyświetlającą menu skrótów. W zależności od tego, która kontrolka ContextMenu spowodowała wyświetlenie menu skrótów, kontrolka dodaje odpowiednie MenuItem obiekty do obiektu ContextMenu. Ten przykład wymaga wystąpienia ContextMenu klasy o nazwie contextMenu1
, zdefiniowanej w formularzu. W tym przykładzie jest również wymagane TextBox dodanie obiektu i PictureBox do formularza oraz że ContextMenu właściwość tych kontrolek jest ustawiona na contextMenu1
wartość .
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
Uwagi
To zdarzenie służy do inicjowania MenuItem obiektów przed ich wyświetleniem. Jeśli na przykład używasz elementu ContextMenu dla trzech TextBox kontrolek i chcesz wyłączyć niektóre elementy menu w ContextMenu zależności od tego, który TextBox wyświetla menu skrótów, możesz utworzyć program obsługi zdarzeń dla tego zdarzenia. Można użyć SourceControl właściwości , aby określić, które TextBox obiekty mają być wyświetlane ContextMenu i wyłączać odpowiednie MenuItem obiekty.
Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.