ContextMenu.SourceControl Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar kontrollen som visar snabbmenyn.
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
Egenskapsvärde
En Control som representerar kontrollen som visar snabbmenyn. Om ingen kontroll har visat snabbmenyn returnerar nullegenskapen .
- Attribut
Exempel
I följande kodexempel skapas en händelsehanterare för Popup händelsen för ContextMenu. Koden i händelsehanteraren avgör vilken av två kontroller som en PictureBox namngiven pictureBox1 och en TextBox namngiven textBox1 är kontrollen som visar snabbmenyn. Beroende på vilken kontroll som gjorde ContextMenu att snabbmenyn visades lägger kontrollen till lämpliga MenuItem objekt i ContextMenu. Det här exemplet kräver att du har en instans av ContextMenu klassen med namnet contextMenu1, definierad i formuläret. Det här exemplet kräver också att du har ett TextBox och PictureBox lagt till i ett formulär och att ContextMenu egenskapen för dessa kontroller är inställd på 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
Kommentarer
Med den här egenskapen kan du avgöra vilken kontroll som för närvarande visar snabbmenyn som definierats i ContextMenu. Om snabbmenyn inte visas för närvarande kan du använda den här egenskapen för att avgöra vilken kontroll som senast visade snabbmenyn. Du kan använda den Popup här egenskapen i händelsen för att säkerställa att kontrollen visar rätt menyalternativ. Du kan också använda den här egenskapen för att skicka en referens till kontrollen till en metod som utför de uppgifter som är associerade med ett menykommando som visas på snabbmenyn. Form Eftersom klassen ärver från Controlkan du också använda den här egenskapen om den ContextMenu är associerad med ett formulär.