ContextMenu.SourceControl Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.