Share via


ContextMenu.SourceControl Özellik

Tanım

Kısayol menüsünü görüntüleyen denetimi alır.

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

Özellik Değeri

Control Kısayol menüsünü görüntüleyen denetimi temsil eden bir. Kısayol menüsünü hiçbir denetim görüntülemediyse özelliği döndürür null.

Öznitelikler

Örnekler

Aşağıdaki kod örneği, olayı için Popup bir olay işleyicisi ContextMenuoluşturur. Olay işleyicisindeki kod, iki denetimden PictureBox hangisinin bir adlandırılmış pictureBox1 ve hangilerinin TextBoxtextBox1 kısayol menüsünü görüntüleyen denetim olduğunu belirler. öğesinin ContextMenu kısayol menüsünü görüntülemesine neden olan denetime bağlı olarak, denetim uygun MenuItem nesneleri öğesine ContextMenuekler. Bu örnek, sınıfının formda tanımlanan adlı contextMenu1bir örneğine ContextMenu sahip olmasını gerektirir. Bu örnek ayrıca forma bir TextBox ve PictureBox ekleyip bu denetimlerin ContextMenu özelliğinin olarak ayarlanmasını contextMenu1gerektirir.

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

Açıklamalar

Bu özellik, içinde tanımlanan kısayol menüsünü şu anda hangi denetimin görüntülediğini belirlemenizi ContextMenusağlar. Kısayol menüsü şu anda görüntülenmiyorsa, kısayol menüsünü en son hangi denetimin görüntülediğini belirlemek için bu özelliği kullanabilirsiniz. Denetimin Popup düzgün menü öğelerini görüntülediğinden emin olmak için olayda bu özelliği kullanabilirsiniz. Bu özelliği, kısayol menüsünde görüntülenen menü komutuyla ilişkili görevleri gerçekleştiren bir yönteme denetim başvurusu geçirmek için de kullanabilirsiniz. Form sınıfı öğesinden Controldevraldığından, bir formla ilişkilendirilmişse ContextMenu bu özelliği de kullanabilirsiniz.

Şunlara uygulanır