다음을 통해 공유


ContextMenu.Popup 이벤트

정의

바로 가기 메뉴가 표시되기 전에 발생합니다.

public:
 event EventHandler ^ Popup;
public event EventHandler Popup;
member this.Popup : EventHandler 
Public Custom Event Popup As EventHandler 

이벤트 유형

예제

다음 코드 예제에서는 의 이벤트에 대 한 Popup 이벤트 ContextMenu처리기를 만듭니다. 이벤트 처리기의 코드는 명명된 컨트롤과 TextBox 명명 pictureBox1textBox1 된 컨트롤 PictureBox 중 바로 가기 메뉴를 표시하는 컨트롤을 결정합니다. 에 바로 가기 메뉴를 표시한 컨트롤 ContextMenu 에 따라 컨트롤은 에 적절한 MenuItem 개체를 ContextMenu추가합니다. 이 예제에서는 라는 클래스contextMenu1ContextMenu instance 폼 내에 정의되어 있어야 합니다. 이 예제에서는 폼에 및 를 TextBox 추가하고 이러한 컨트롤의 ContextMenu 속성을 로 설정해야 합니다contextMenu1.PictureBox

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

설명

이 이벤트를 사용하여 개체가 MenuItem 표시되기 전에 초기화할 수 있습니다. 예를 들어 세 TextBox 컨트롤에 대해 를 ContextMenu 사용하고 바로 가기 메뉴를 표시하는 에 따라 TextBox 에서 ContextMenu 특정 메뉴 항목을 사용하지 않도록 설정하려는 경우 이 이벤트에 대한 이벤트 처리기를 만들 수 있습니다. 사용할 수 있습니다는 SourceControl 속성을 표시 ContextMenu 하려는 결정 TextBox 하 고 적절 MenuItem 한 개체를 사용 하지 않도록 설정 합니다.

이벤트 처리에 대한 자세한 내용은 이벤트 처리 및 발생 을 참조하십시오.

적용 대상