ContextMenu 클래스

정의

바로 가기 메뉴를 나타냅니다.Represents a shortcut menu.

이 클래스는 .NET Core 3.1 이상 버전에서 사용할 수 없습니다.This class is not available in .NET Core 3.1 and later versions. 대신를 사용 하 여 ContextMenuStrip 컨트롤을 대체 하 고 확장 합니다 ContextMenu .Use ContextMenuStrip instead, which replaces and extends the ContextMenu control.

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 .The following code example creates an event handler for the Popup event of the ContextMenu. 이벤트 처리기의 코드는 라는 두 컨트롤을 결정 PictureBox pictureBox1 하 고 TextBox 라는는 textBox1 바로 가기 메뉴를 표시 하는 컨트롤입니다.The code in the event handler determines which of two controls a PictureBox named pictureBox1 and a TextBox named textBox1 is the control displaying the shortcut menu. 에서 바로 가기 메뉴를 표시 하도록 하는 컨트롤에 따라 ContextMenu 컨트롤은에 적절 한 MenuItem 개체를 추가 ContextMenu 합니다.Depending on which control caused the ContextMenu to display its shortcut menu, the control adds the appropriate MenuItem objects to the ContextMenu. 이 예제를 사용 하려면 형식 내에 정의 된 클래스의 인스턴스가 있어야 합니다 ContextMenu contextMenu1 .This example requires that you have an instance of the ContextMenu class, named contextMenu1, defined within the form. 또한이 예제를 사용 하려면를 TextBox PictureBox 폼에 추가 하 고 ContextMenu 이러한 컨트롤의 속성이로 설정 되어 있어야 contextMenu1 합니다.This example also requires that you have a TextBox and PictureBox added to a form and that the ContextMenu property of these controls is set to 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 이상 버전에서 사용할 수 없습니다.This class is not available in .NET Core 3.1 and later versions. 대신 를 사용하세요.Use instead.

ContextMenu클래스는 사용자가 폼의 컨트롤이 나 영역 위에서 마우스 오른쪽 단추를 클릭할 때 표시 될 수 있는 바로 가기 메뉴를 나타냅니다.The ContextMenu class represents shortcut menus that can be displayed when the user clicks the right mouse button over a control or area of the form. 바로 가기 메뉴는 일반적으로 다른 메뉴 항목을 결합 하는 데 사용 됩니다는 MainMenu 애플리케이션의 컨텍스트에서 사용자에 대 한 유용한 양식의 합니다.Shortcut menus are typically used to combine different menu items from a MainMenu of a form that are useful for the user given the context of the application. 예를 들어, 컨트롤에 할당 된 바로 가기 메뉴를 사용 하 여 텍스트 TextBox 의 글꼴을 변경 하거나, 컨트롤 내 텍스트를 찾거나, 텍스트를 복사 하 고 붙여넣을 수 있는 클립보드 기능을 위한 메뉴 항목을 제공할 수 있습니다.For example, you can use a shortcut menu assigned to a TextBox control to provide menu items for changing the font of the text, finding text within the control, or Clipboard features for copying and pasting text. 에 없는 바로 가기 메뉴에 새 개체를 표시 하 여에 표시 되는 데 MenuItem MainMenu 적합 하지 않은 상황에 맞는 명령을 제공할 수도 있습니다 MainMenu .You can also display new MenuItem objects in a shortcut menu that are not located within a MainMenu to provide situation specific commands that are not appropriate for the MainMenu to display.

일반적으로 사용자가 컨트롤 또는 양식 자체 위에 마우스 오른쪽 단추를 클릭 하면 바로 가기 메뉴가 표시 됩니다.Typically, a shortcut menu is displayed when a user clicks the right mouse button over a control or the form itself. 표시 되는 컨트롤 및에는 Form ContextMenu 클래스를 ContextMenu 바로 가기 메뉴를 표시 하는 컨트롤에 바인딩하는 속성이 있습니다.Visible controls and Form have a ContextMenu property that binds the ContextMenu class to the control that displays the shortcut menu. 둘 이상의 컨트롤이을 사용할 수 있습니다 ContextMenu .More than one control can use a ContextMenu. 속성을 사용 하 여 컨트롤에 SourceControl 특정 한 작업을 수행 하거나 컨트롤에 대해 표시 되는 바로 가기 메뉴를 수정 하기 위해 바로 가기 메뉴를 마지막으로 표시 한 컨트롤을 확인할 수 있습니다.You can use the SourceControl property to determine which control last displayed the shortcut menu in order to perform tasks specific to the control or to modify the shortcut menu displayed for the control.

메뉴를 사용자에 게 표시 하기 전에 확인 표시를 설정 하 고, 항목을 사용 하지 않도록 설정 하 고, 다른 메뉴 작업을 수행 하기 위해 바로 가기 메뉴가 표시 되는 시점을 확인할 수 있습니다.You might want to know when the shortcut menu is being displayed in order to set check marks, disable items, and perform other menu tasks before the menu is displayed to the user. 이벤트를 처리 Popup 하 여 바로 가기 메뉴가 표시 되는 시간을 확인할 수 있습니다.You can handle the Popup event to determine when the shortcut menu is being displayed.

참고

에서 사용 하기 위해에 표시 되는 개체를 다시 사용 하려면 MenuItem MainMenu ContextMenu CloneMenu 클래스의 메서드를 사용 하 여 메뉴의 복사본을 만들어야 합니다 MenuItem .In order to reuse MenuItem objects that are displayed in a MainMenu for use in a ContextMenu, you must create a copy of the menu using the CloneMenu method of the MenuItem class. MenuItem클래스의 메서드를 사용 하 여 메뉴 항목 및 해당 하위 메뉴 항목을 단일 개체로 병합할 수도 있습니다 MergeMenu MenuItem .You can also merge menu items and their submenu items into a single MenuItem object using the MergeMenu method of the MenuItem class.

생성자

ContextMenu()

지정된 메뉴 항목을 사용하지 않고 ContextMenu 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ContextMenu class with no menu items specified.

ContextMenu(MenuItem[])

지정된 ContextMenu 개체의 집합을 사용하여 MenuItem클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ContextMenu class with a specified set of MenuItem objects.

필드

FindHandle

FindMenuItem(Int32, IntPtr) 메서드가 핸들을 검색하도록 지정합니다.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a handle.

(다음에서 상속됨 Menu)
FindShortcut

FindMenuItem(Int32, IntPtr) 메서드가 바로 가기를 검색하도록 지정합니다.Specifies that the FindMenuItem(Int32, IntPtr) method should search for a shortcut.

(다음에서 상속됨 Menu)

속성

CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(다음에서 상속됨 Component)
Container

IContainer을 포함하는 Component를 가져옵니다.Gets the IContainer that contains the Component.

(다음에서 상속됨 Component)
DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(다음에서 상속됨 Component)
Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(다음에서 상속됨 Component)
Handle

메뉴의 창 핸들을 나타내는 값을 가져옵니다.Gets a value representing the window handle for the menu.

(다음에서 상속됨 Menu)
IsParent

이 메뉴에 메뉴 항목이 들어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether this menu contains any menu items. 이 속성은 읽기 전용입니다.This property is read-only.

(다음에서 상속됨 Menu)
MdiListItem

MDI(다중 문서 인터페이스) 자식 폼의 목록을 표시하는 데 사용되는 MenuItem을 나타내는 값을 가져옵니다.Gets a value indicating the MenuItem that is used to display a list of multiple document interface (MDI) child forms.

(다음에서 상속됨 Menu)
MenuItems

해당 메뉴와 연결된 MenuItem 개체의 컬렉션을 나타내는 값을 가져옵니다.Gets a value indicating the collection of MenuItem objects associated with the menu.

(다음에서 상속됨 Menu)
Name

Menu의 이름을 가져오거나 설정합니다.Gets or sets the name of the Menu.

(다음에서 상속됨 Menu)
RightToLeft

컨트롤의 텍스트가 오른쪽에서 왼쪽으로 표시되는지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether text displayed by the control is displayed from right to left.

Site

ComponentISite를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(다음에서 상속됨 Component)
SourceControl

바로 가기 메뉴를 표시하는 컨트롤을 가져옵니다.Gets the control that is displaying the shortcut menu.

Tag

컨트롤과 연관된 사용자 정의 데이터를 가져오거나 설정합니다.Gets or sets user-defined data associated with the control.

(다음에서 상속됨 Menu)

메서드

CloneMenu(Menu)

현재 Menu에 매개 변수로 전달되는 Menu를 복사합니다.Copies the Menu that is passed as a parameter to the current Menu.

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

Menu의 새 핸들을 만듭니다.Creates a new handle to the Menu.

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

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

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

Component에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Component.

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

Menu에서 사용하는 리소스(메모리 제외)를 삭제합니다.Disposes of the resources, other than memory, used by the Menu.

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

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

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

지정된 값이 포함된 MenuItem을 가져옵니다.Gets the MenuItem that contains the value specified.

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

메뉴 항목이 메뉴에 삽입될 위치를 반환합니다.Returns the position at which a menu item should be inserted into the menu.

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

이 메뉴가 들어 있는 ContextMenu를 가져옵니다.Gets the ContextMenu that contains this menu.

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

기본 해시 함수로 작동합니다.Serves as the default hash function.

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

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

이 메뉴가 들어 있는 MainMenu를 가져옵니다.Gets the MainMenu that contains this menu.

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

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

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

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

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

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

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

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

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

한 메뉴의 MenuItem 개체를 현재 메뉴와 병합합니다.Merges the MenuItem objects of one menu with the current menu.

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

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

OnPopup(EventArgs)

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

ProcessCmdKey(Message, Keys)

명령 키를 처리합니다.Processes a command key.

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

명령 키를 처리합니다.Processes a command key.

Show(Control, Point)

지정된 위치에 바로 가기 메뉴를 표시합니다.Displays the shortcut menu at the specified position.

Show(Control, Point, LeftRightAlignment)

지정된 맞춤을 사용하여 지정된 위치에 바로 가기 메뉴를 표시합니다.Displays the shortcut menu at the specified position and with the specified alignment.

ToString()

String 컨트롤을 나타내는 Menu을 반환합니다.Returns a String that represents the Menu control.

(다음에서 상속됨 Menu)

이벤트

Collapse

바로 가기 메뉴가 축소될 때 발생합니다.Occurs when the shortcut menu collapses.

Disposed

Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(다음에서 상속됨 Component)
Popup

바로 가기 메뉴가 표시되기 전에 발생합니다.Occurs before the shortcut menu is displayed.

적용 대상

추가 정보