共用方式為


ContextMenu.Popup 事件

定義

發生於顯示捷徑功能表之前。

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

事件類型

範例

下列程式碼範例會為 Popup 的 事件 ContextMenu 建立事件處理常式。 事件處理常式中的程式碼會決定兩個控制項中的哪一個控制項,其中一個 PictureBoxTextBox 是名為 pictureBox1 的 ,而名為 textBox1 是顯示快捷方式功能表的控制項。 根據哪個控制項導致 ContextMenu 顯示其快捷方式功能表,控制項會將適當的 MenuItem 物件加入至 ContextMenu 。 此範例會要求您有名為 的 ContextMenu 類別實例,其 contextMenu1 定義于表單內。 此範例也需要您將 TextBoxPictureBox 新增至表單,而且 ContextMenu 這些控制項的 屬性設定為 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

備註

您可以在物件顯示之前,使用此事件來初始化 MenuItem 物件。 例如,如果您使用 三 TextBoxContextMenu 控制項的 ,而且想要根據顯示快捷方式功能表的 來 TextBox 停用 中的 ContextMenu 特定功能表項目,您可以為此事件建立事件處理常式。 您可以使用 SourceControl 屬性來判斷要顯示 ContextMenu 哪些 TextBox 物件並停用適當的 MenuItem 物件。

如需處理事件的詳細資訊,請參閱 處理和引發事件

適用於