ContextMenu 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바로 가기 메뉴를 나타냅니다.
이 클래스는 .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 명명 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
설명
이 클래스는 .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 |
Component의 ISite를 가져오거나 설정합니다. (다음에서 상속됨 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() | (다음에서 상속됨 Menu) |
이벤트
Collapse |
바로 가기 메뉴가 축소될 때 발생합니다. |
Disposed |
Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다. (다음에서 상속됨 Component) |
Popup |
바로 가기 메뉴가 표시되기 전에 발생합니다. |
적용 대상
추가 정보
.NET