Bagikan melalui


ContextMenu.SourceControl Properti

Definisi

Mendapatkan kontrol yang menampilkan menu pintasan.

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

Nilai Properti

Control yang mewakili kontrol yang menampilkan menu pintasan. Jika tidak ada kontrol yang menampilkan menu pintasan, properti akan mengembalikan null.

Atribut

Contoh

Contoh kode berikut membuat penanganan aktivitas untuk Popup peristiwa ContextMenu. Kode dalam penanganan aktivitas menentukan mana dari dua kontrol bernama PictureBoxpictureBox1 dan bernama TextBoxtextBox1 adalah kontrol yang menampilkan menu pintasan. Bergantung pada kontrol mana yang menyebabkan ContextMenu menampilkan menu pintasannya, kontrol menambahkan objek yang sesuai MenuItem ke ContextMenu. Contoh ini mengharuskan Anda memiliki instans ContextMenu kelas , bernama contextMenu1, yang ditentukan dalam formulir. Contoh ini juga mengharuskan Anda memiliki TextBox dan PictureBox ditambahkan ke formulir dan bahwa ContextMenu properti kontrol ini diatur ke 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

Keterangan

Properti ini memungkinkan Anda menentukan kontrol mana yang saat ini menampilkan menu pintasan yang ditentukan dalam ContextMenu. Jika menu pintasan saat ini tidak ditampilkan, Anda dapat menggunakan properti ini untuk menentukan kontrol mana yang terakhir kali menampilkan menu pintasan. Anda dapat menggunakan properti ini dalam Popup peristiwa untuk memastikan bahwa kontrol menampilkan item menu yang tepat. Anda juga dapat menggunakan properti ini untuk meneruskan referensi ke kontrol ke metode yang melakukan tugas yang terkait dengan perintah menu yang ditampilkan di menu pintasan. Form Karena kelas mewarisi dari Control, Anda juga dapat menggunakan properti ini jika ContextMenu dikaitkan dengan formulir.

Berlaku untuk