Sdílet prostřednictvím


ContextMenu.SourceControl Vlastnost

Definice

Získá ovládací prvek, který zobrazuje místní nabídku.

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

Hodnota vlastnosti

A Control , který představuje ovládací prvek, který zobrazuje místní nabídku. Pokud žádný ovládací prvek nezobrazovat místní nabídku, vrátí vlastnost .null

Atributy

Příklady

Následující příklad kódu vytvoří obslužnou rutinu události pro Popup událost události ContextMenu. Kód v obslužné rutině události určuje, který ze dvou ovládacích prvků pojmenovaný PictureBoxpictureBox1 a pojmenovaný TextBoxtextBox1 je ovládací prvek zobrazující místní nabídku. V závislosti na tom, který ovládací prvek způsobil ContextMenu zobrazení jeho místní nabídky, ovládací prvek přidá příslušné MenuItem objekty do objektu ContextMenu. Tento příklad vyžaduje, abyste měli instanci ContextMenu třídy s názvem contextMenu1, definovanou ve formuláři. Tento příklad také vyžaduje, abyste měli TextBox formulář a PictureBox přidali ho do formuláře a aby ContextMenu vlastnost těchto ovládacích prvků byla nastavena na contextMenu1hodnotu .

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

Poznámky

Tato vlastnost umožňuje určit, který ovládací prvek aktuálně zobrazuje místní nabídku definovanou v sadě ContextMenu. Pokud místní nabídka není aktuálně zobrazena, můžete pomocí této vlastnosti určit, který ovládací prvek naposledy zobrazil místní nabídku. Tuto vlastnost můžete použít v Popup události, abyste zajistili, že ovládací prvek zobrazí správné položky nabídky. Tuto vlastnost můžete použít také k předání odkazu na ovládací prvek metodě, která provádí úlohy přidružené k příkazu nabídky zobrazené v místní nabídce. Vzhledem k tomu, třída Form dědí z Control, můžete také použít tuto vlastnost, pokud ContextMenu je přidružen k formuláři.

Platí pro