ContextMenu.SourceControl 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바로 가기 메뉴를 표시하는 컨트롤을 가져옵니다.
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
속성 값
바로 가기 메뉴를 표시하는 컨트롤을 나타내는 Control입니다. 바로 가기 메뉴를 표시하는 컨트롤이 없으면 속성이 null
을 반환합니다.
- 특성
예제
다음 코드 예제에서는 의 이벤트에 대 한 Popup 이벤트 ContextMenu처리기를 만듭니다. 이벤트 처리기의 코드는 명명된 컨트롤과 TextBox 명명 pictureBox1
textBox1
된 컨트롤 PictureBox 중 바로 가기 메뉴를 표시하는 컨트롤을 결정합니다. 에 바로 가기 메뉴를 표시한 컨트롤 ContextMenu 에 따라 컨트롤은 에 적절한 MenuItem 개체를 ContextMenu추가합니다. 이 예제에서는 형식 내에 정의된 클래스contextMenu1
의 ContextMenu instance 있어야 합니다. 이 예제에서는 및 를 TextBoxPictureBox 폼 ContextMenu 에 추가하고 이러한 컨트롤의 속성을 로 설정해야 합니다 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
설명
이 속성을 사용하면 에 정의된 바로 가기 메뉴를 현재 표시하는 컨트롤을 확인할 수 있습니다 ContextMenu. 현재 바로 가기 메뉴가 표시되지 않으면 이 속성을 사용하여 바로 가기 메뉴를 마지막으로 표시한 컨트롤을 확인할 수 있습니다. 이벤트에서 이 속성을 Popup 사용하여 컨트롤에 적절한 메뉴 항목이 표시되는지 확인할 수 있습니다. 이 속성을 사용하여 바로 가기 메뉴에 표시된 메뉴 명령과 연결된 작업을 수행하는 메서드에 컨트롤에 대한 참조를 전달할 수도 있습니다. 클래스는 Form 에서 Control상속되므로 이 양식과 연결된 경우 ContextMenu 이 속성을 사용할 수도 있습니다.
적용 대상
.NET