ContextMenu.SourceControl 속성

정의

바로 가기 메뉴를 표시하는 컨트롤을 가져옵니다.Gets the control that is displaying the shortcut menu.

public:
 property System::Windows::Forms::Control ^ SourceControl { System::Windows::Forms::Control ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.Control SourceControl { get; }
member this.SourceControl : System.Windows.Forms.Control
Public ReadOnly Property SourceControl As Control

속성 값

바로 가기 메뉴를 표시하는 컨트롤을 나타내는 Control입니다.A Control that represents the control that is displaying the shortcut menu. 바로 가기 메뉴를 표시하는 컨트롤이 없으면 속성이 null을 반환합니다.If no control has displayed the shortcut menu, the property returns null.

특성

예제

다음 코드 예제에 대 한 이벤트 처리기를 만듭니다는 Popup 의 이벤트는 ContextMenu합니다.The following code example creates an event handler for the Popup event of the ContextMenu. 이벤트 처리기의 코드를 사용 하면 두 컨트롤의 결정을 PictureBox 라는 pictureBox1TextBox 라는 textBox1 바로 가기 메뉴를 표시 하는 컨트롤입니다.The code in the event handler determines which of two controls a PictureBox named pictureBox1 and a TextBox named textBox1 is the control displaying the shortcut menu. 발생 하는 컨트롤에 따라 합니다 ContextMenu 컨트롤 바로 가기 메뉴를 표시 하려면 적절 한 추가 MenuItem 개체는 ContextMenu합니다.Depending on which control caused the ContextMenu to display its shortcut menu, the control adds the appropriate MenuItem objects to the ContextMenu. 이 예에서는 인스턴스의 있어야 합니다 ContextMenu 라는 클래스를 contextMenu1양식 내에서 정의 된 합니다.This example requires that you have an instance of the ContextMenu class, named contextMenu1, defined within the form. 이 예제에서는 또한 있어야를 TextBoxPictureBox 를 폼에 추가 합니다 ContextMenu 이러한 컨트롤의 속성 contextMenu1.This example also requires that you have a TextBox and PictureBox added to a form and that the ContextMenu property of these controls is set to 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

설명

이 속성을 사용 하면 제어 하는 현재 표시를 확인할 수 있습니다에 정의 된 바로 가기 메뉴를 ContextMenu입니다.This property enables you to determine which control currently displays the shortcut menu defined in the ContextMenu. 바로 가기 메뉴를 현재 표시 되지 않으면, 마지막으로 바로 가기 메뉴를 표시 한 컨트롤을 확인 하려면이 속성을 사용할 수 있습니다.If the shortcut menu is not currently displayed, you can use this property to determine which control last displayed the shortcut menu. 이 속성을 사용할 수는 Popup 이벤트 컨트롤에 적절 한 메뉴 항목을 표시 하도록 합니다.You can use this property in the Popup event to ensure that the control displays the proper menu items. 또한 바로 가기 메뉴에 표시 되는 메뉴 명령과 사용 하 여 연관 된 태스크를 수행 하는 메서드를 컨트롤에 대 한 참조를 전달 하려면이 속성을 사용할 수 있습니다.You can also use this property to pass a reference to the control to a method that performs the tasks associated with a menu command displayed in the shortcut menu. 있으므로 Form 클래스에서 상속 Control, 경우에이 속성을 사용할 수 있습니다는 ContextMenu 형식과 연결 됩니다.Since the Form class inherits from Control, you can also use this property if the ContextMenu is associated with a form.

적용 대상