ContextMenu 클래스

정의

바로 가기 메뉴를 나타냅니다.

이 클래스는 .NET Core 3.1 이상 버전에서는 사용할 수 없습니다. 대신 ContextMenu 컨트롤을 대체하고 확장하는 ContextMenuStrip을 사용합니다.

public ref class ContextMenu : System::Windows::Forms::Menu
public class ContextMenu : System.Windows.Forms.Menu
type ContextMenu = class
    inherit Menu
Public Class ContextMenu
Inherits Menu
상속

예제

다음 코드 예제에서는 의 이벤트에 대 한 Popup 이벤트 ContextMenu처리기를 만듭니다. 이벤트 처리기의 코드는 명명된 컨트롤과 TextBox 명명 pictureBox1textBox1 된 컨트롤 PictureBox 중 바로 가기 메뉴를 표시하는 컨트롤을 결정합니다. 에 바로 가기 메뉴를 표시한 컨트롤 ContextMenu 에 따라 컨트롤은 에 적절한 MenuItem 개체를 ContextMenu추가합니다. 이 예제에서는 형식 내에 정의된 클래스contextMenu1ContextMenu instance 있어야 합니다. 이 예제에서는 및 를 TextBoxPictureBoxContextMenu 에 추가하고 이러한 컨트롤의 속성을 로 설정해야 합니다 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

설명

이 클래스는 .NET Core 3.1 이상 버전에서는 사용할 수 없습니다. 대신 ContextMenuStrip를 사용하세요.

클래스는 ContextMenu 사용자가 폼의 컨트롤이나 영역에서 마우스 오른쪽 단추를 클릭할 때 표시할 수 있는 바로 가기 메뉴를 나타냅니다. 바로 가기 메뉴는 일반적으로 다른 메뉴 항목을 결합 하는 데 사용 됩니다는 MainMenu 애플리케이션의 컨텍스트에서 사용자에 대 한 유용한 양식의 합니다. 예를 들어 컨트롤에 TextBox 할당된 바로 가기 메뉴를 사용하여 텍스트 글꼴을 변경하거나, 컨트롤 내에서 텍스트를 찾거나, 텍스트를 복사하고 붙여넣기 위한 클립보드 기능을 메뉴 항목을 제공할 수 있습니다. 에 없는 바로 가기 메뉴에 새 MenuItem 개체를 표시할 수도 있습니다 상황에 대 한 MainMenu 적절 MainMenu 하지 않은 명령을 제공 하는 에 표시 합니다.

일반적으로 사용자가 컨트롤 또는 양식 자체에서 마우스 오른쪽 단추를 클릭하면 바로 가기 메뉴가 표시됩니다. 표시되는 컨트롤과 FormContextMenu 바로 가기 메뉴를 표시하는 컨트롤에 ContextMenu 클래스를 바인딩하는 속성이 있습니다. 둘 이상의 컨트롤은 를 ContextMenu사용할 수 있습니다. 사용 하 여는 SourceControl 속성을 컨트롤에 대 한 표시 되는 바로 가기 메뉴를 수정 하거나 컨트롤에 대 한 표시 되는 바로 가기 메뉴를 수정 하기 위해 바로 가기 메뉴를 마지막으로 표시 하는 컨트롤을 확인할 수 있습니다.

검사 표시를 설정하고, 항목을 사용하지 않도록 설정하고, 메뉴가 사용자에게 표시되기 전에 다른 메뉴 작업을 수행하기 위해 바로 가기 메뉴가 표시되는 시기를 알고 싶을 수 있습니다. 이벤트를 처리 Popup 하여 바로 가기 메뉴가 표시되는 시기를 확인할 수 있습니다.

참고

에 표시되는 MainMenu 개체를 에 다시 사용 MenuItemContextMenu하려면 클래스의 메서드를 사용하여 메뉴 복사본을 CloneMenuMenuItem 만들어야 합니다. 클래스의 MenuItem 메서드를 사용하여 MergeMenu 메뉴 항목과 해당 하위 메뉴 항목을 단일 MenuItem 개체로 병합할 수도 있습니다.

생성자

ContextMenu()

지정된 메뉴 항목을 사용하지 않고 ContextMenu 클래스의 새 인스턴스를 초기화합니다.

ContextMenu(MenuItem[])

지정된 ContextMenu 개체의 집합을 사용하여 MenuItem클래스의 새 인스턴스를 초기화합니다.

필드

FindHandle

FindMenuItem(Int32, IntPtr) 메서드가 핸들을 검색하도록 지정합니다.

(다음에서 상속됨 Menu)
FindShortcut

FindMenuItem(Int32, IntPtr) 메서드가 바로 가기를 검색하도록 지정합니다.

(다음에서 상속됨 Menu)

속성

CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Container

IContainer을 포함하는 Component를 가져옵니다.

(다음에서 상속됨 Component)
DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.

(다음에서 상속됨 Component)
Handle

메뉴의 창 핸들을 나타내는 값을 가져옵니다.

(다음에서 상속됨 Menu)
IsParent

이 메뉴에 메뉴 항목이 들어 있는지 여부를 나타내는 값을 가져옵니다. 이 속성은 읽기 전용입니다.

(다음에서 상속됨 Menu)
MdiListItem

MDI(다중 문서 인터페이스) 자식 폼의 목록을 표시하는 데 사용되는 MenuItem을 나타내는 값을 가져옵니다.

(다음에서 상속됨 Menu)
MenuItems

해당 메뉴와 연결된 MenuItem 개체의 컬렉션을 나타내는 값을 가져옵니다.

(다음에서 상속됨 Menu)
Name

Menu의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Menu)
RightToLeft

컨트롤의 텍스트가 오른쪽에서 왼쪽으로 표시되는지를 나타내는 값을 가져오거나 설정합니다.

Site

ComponentISite를 가져오거나 설정합니다.

(다음에서 상속됨 Component)
SourceControl

바로 가기 메뉴를 표시하는 컨트롤을 가져옵니다.

Tag

컨트롤과 연관된 사용자 정의 데이터를 가져오거나 설정합니다.

(다음에서 상속됨 Menu)

메서드

CloneMenu(Menu)

현재 Menu에 매개 변수로 전달되는 Menu를 복사합니다.

(다음에서 상속됨 Menu)
CreateMenuHandle()

Menu의 새 핸들을 만듭니다.

(다음에서 상속됨 Menu)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Component)
Dispose(Boolean)

Menu에서 사용하는 리소스(메모리 제외)를 삭제합니다.

(다음에서 상속됨 Menu)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
FindMenuItem(Int32, IntPtr)

지정된 값이 포함된 MenuItem을 가져옵니다.

(다음에서 상속됨 Menu)
FindMergePosition(Int32)

메뉴 항목이 메뉴에 삽입될 위치를 반환합니다.

(다음에서 상속됨 Menu)
GetContextMenu()

이 메뉴가 들어 있는 ContextMenu를 가져옵니다.

(다음에서 상속됨 Menu)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetMainMenu()

이 메뉴가 들어 있는 MainMenu를 가져옵니다.

(다음에서 상속됨 Menu)
GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
MergeMenu(Menu)

한 메뉴의 MenuItem 개체를 현재 메뉴와 병합합니다.

(다음에서 상속됨 Menu)
OnCollapse(EventArgs)

Collapse 이벤트를 발생시킵니다.

OnPopup(EventArgs)

Popup 이벤트를 발생시킵니다.

ProcessCmdKey(Message, Keys)

명령 키를 처리합니다.

(다음에서 상속됨 Menu)
ProcessCmdKey(Message, Keys, Control)

명령 키를 처리합니다.

Show(Control, Point)

지정된 위치에 바로 가기 메뉴를 표시합니다.

Show(Control, Point, LeftRightAlignment)

지정된 맞춤을 사용하여 지정된 위치에 바로 가기 메뉴를 표시합니다.

ToString()

String 컨트롤을 나타내는 Menu을 반환합니다.

(다음에서 상속됨 Menu)

이벤트

Collapse

바로 가기 메뉴가 축소될 때 발생합니다.

Disposed

Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다.

(다음에서 상속됨 Component)
Popup

바로 가기 메뉴가 표시되기 전에 발생합니다.

적용 대상

추가 정보