방법: ContextMenuStrip과 컨트롤 연결
컨트롤과 바로 가기 메뉴를 만든 후 다음 프로시저를 사용하여 사용자가 컨트롤을 마우스 오른쪽 단추로 클릭할 때 지정된 바로 가기 메뉴를 표시할 수 있습니다. 이러한 프로시저는 ContextMenuStrip을 Windows Form 및 ToolStrip 컨트롤과 연결합니다.
ContextMenuStrip과 Windows Form을 연결하려면
- ContextMenuStrip 속성을 연결된 ContextMenuStrip의 이름으로 설정합니다.
ContextMenuStrip과 ToolStrip 컨트롤을 연결하려면
- 컨트롤의 ContextMenuStrip 속성을 연결된 ContextMenuStrip의 이름으로 설정합니다.
예제
다음 코드 예제에서는 Windows Form과 ToolStrip을 만들고 다른 ContextMenuStrip 컨트롤을 Windows Form과 ToolStrip에 각각 연결합니다.
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Public Class Form1
Inherits Form
Private toolStripButton1 As ToolStripButton
Private toolStripButton2 As ToolStripButton
Private toolStripButton3 As ToolStripButton
Private contextMenuStrip1 As ContextMenuStrip
Private components As IContainer
Private toolStripMenuItem1 As ToolStripMenuItem
Private toolStripMenuItem2 As ToolStripMenuItem
Private contextMenuStrip2 As ContextMenuStrip
Private rearrangeButtonsToolStripMenuItem As ToolStripMenuItem
Private selectIconsToolStripMenuItem As ToolStripMenuItem
Private toolStrip1 As ToolStrip
Public Sub New()
InitializeComponent()
End Sub
<STAThread()> _
Public Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1())
End Sub
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As New System.ComponentModel.ComponentResourceManager(GetType(Form1))
Me.toolStrip1 = New System.Windows.Forms.ToolStrip()
Me.toolStripButton1 = New System.Windows.Forms.ToolStripButton()
Me.toolStripButton2 = New System.Windows.Forms.ToolStripButton()
Me.toolStripButton3 = New System.Windows.Forms.ToolStripButton()
Me.contextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.contextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.toolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
Me.toolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
Me.rearrangeButtonsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.selectIconsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.toolStrip1.SuspendLayout()
Me.contextMenuStrip1.SuspendLayout()
Me.contextMenuStrip2.SuspendLayout()
Me.SuspendLayout()
'
' Associate contextMenuStrip2 with toolStrip1.
' toolStrip1 property settings follow.
'
Me.toolStrip1.ContextMenuStrip = Me.contextMenuStrip2
Me.toolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripButton1, Me.toolStripButton2, Me.toolStripButton3})
Me.toolStrip1.Location = New System.Drawing.Point(0, 0)
Me.toolStrip1.Name = "toolStrip1"
Me.toolStrip1.Size = New System.Drawing.Size(292, 25)
Me.toolStrip1.TabIndex = 0
Me.toolStrip1.Text = "toolStrip1"
'
' toolStripButton1
'
Me.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButton1.Image = CType(resources.GetObject("toolStripButton1.Image"), System.Drawing.Image)
Me.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButton1.Name = "toolStripButton1"
Me.toolStripButton1.Text = "toolStripButton1"
'
' toolStripButton2
'
Me.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButton2.Image = CType(resources.GetObject("toolStripButton2.Image"), System.Drawing.Image)
Me.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButton2.Name = "toolStripButton2"
Me.toolStripButton2.Text = "toolStripButton2"
'
' toolStripButton3
'
Me.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
Me.toolStripButton3.Image = CType(resources.GetObject("toolStripButton3.Image"), System.Drawing.Image)
Me.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta
Me.toolStripButton3.Name = "toolStripButton3"
Me.toolStripButton3.Text = "toolStripButton3"
'
' contextMenuStrip1
'
Me.contextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.toolStripMenuItem1, Me.toolStripMenuItem2})
Me.contextMenuStrip1.Name = "contextMenuStrip1"
Me.contextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.contextMenuStrip1.Size = New System.Drawing.Size(131, 48)
'
' contextMenuStrip2
'
Me.contextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.rearrangeButtonsToolStripMenuItem, Me.selectIconsToolStripMenuItem})
Me.contextMenuStrip2.Name = "contextMenuStrip2"
Me.contextMenuStrip2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.contextMenuStrip2.Size = New System.Drawing.Size(162, 48)
'
' toolStripMenuItem1
'
Me.toolStripMenuItem1.Name = "toolStripMenuItem1"
Me.toolStripMenuItem1.Text = "&Resize"
'
' toolStripMenuItem2
'
Me.toolStripMenuItem2.Name = "toolStripMenuItem2"
Me.toolStripMenuItem2.Text = "&Keep on Top"
'
' rearrangeButtonsToolStripMenuItem
'
Me.rearrangeButtonsToolStripMenuItem.Name = "rearrangeButtonsToolStripMenuItem"
Me.rearrangeButtonsToolStripMenuItem.Text = "R&earrange Buttons"
'
' selectIconsToolStripMenuItem
'
Me.selectIconsToolStripMenuItem.Name = "selectIconsToolStripMenuItem"
Me.selectIconsToolStripMenuItem.Text = "&Select Icons"
'
' Associate contextMenuStrip1 with Form1.
' Form1 property settings follow.
'
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.ContextMenuStrip = Me.contextMenuStrip1
Me.Controls.Add(toolStrip1)
Me.Name = "Form1"
Me.toolStrip1.ResumeLayout(False)
Me.contextMenuStrip1.ResumeLayout(False)
Me.contextMenuStrip2.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication10
{
public class Form1 : Form
{
private ToolStripButton toolStripButton1;
private ToolStripButton toolStripButton2;
private ToolStripButton toolStripButton3;
private ContextMenuStrip contextMenuStrip1;
private IContainer components;
private ToolStripMenuItem toolStripMenuItem1;
private ToolStripMenuItem toolStripMenuItem2;
private ContextMenuStrip contextMenuStrip2;
private ToolStripMenuItem rearrangeButtonsToolStripMenuItem;
private ToolStripMenuItem selectIconsToolStripMenuItem;
private ToolStrip toolStrip1;
public Form1()
{
InitializeComponent();
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.rearrangeButtonsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.selectIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.contextMenuStrip2.SuspendLayout();
this.SuspendLayout();
//
// Associate contextMenuStrip2 with toolStrip1.
// toolStrip1 property settings follow.
//
this.toolStrip1.ContextMenuStrip = this.contextMenuStrip2;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2,
this.toolStripButton3});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(292, 25);
this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripButton1
//
this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton1.Name = "toolStripButton1";
this.toolStripButton1.Text = "toolStripButton1";
//
// toolStripButton2
//
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Text = "toolStripButton2";
//
// toolStripButton3
//
this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Text = "toolStripButton3";
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem1,
this.toolStripMenuItem2});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.contextMenuStrip1.Size = new System.Drawing.Size(131, 48);
//
// contextMenuStrip2
//
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.rearrangeButtonsToolStripMenuItem,
this.selectIconsToolStripMenuItem});
this.contextMenuStrip2.Name = "contextMenuStrip2";
this.contextMenuStrip2.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.contextMenuStrip2.Size = new System.Drawing.Size(162, 48);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Text = "&Resize";
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Text = "&Keep on Top";
//
// rearrangeButtonsToolStripMenuItem
//
this.rearrangeButtonsToolStripMenuItem.Name = "rearrangeButtonsToolStripMenuItem";
this.rearrangeButtonsToolStripMenuItem.Text = "R&earrange Buttons";
//
// selectIconsToolStripMenuItem
//
this.selectIconsToolStripMenuItem.Name = "selectIconsToolStripMenuItem";
this.selectIconsToolStripMenuItem.Text = "&Select Icons";
//
// Associate contextMenuStrip1 with Form1.
// Form1 property settings follow.
//
this.ClientSize = new System.Drawing.Size(292, 266);
this.ContextMenuStrip = this.contextMenuStrip1;
this.Controls.Add(this.toolStrip1);
this.Name = "Form1";
this.toolStrip1.ResumeLayout(false);
this.contextMenuStrip1.ResumeLayout(false);
this.contextMenuStrip2.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
}
}
코드 컴파일
이 예제에는 다음 사항이 필요합니다.
- System, System.Data, System.Drawing 및 System.Windows.Forms 어셈블리에 대한 참조
Visual Basic 또는 Visual C#의 명령줄에서 이 예제를 빌드하는 방법에 대한 자세한 내용은 명령줄에서 빌드(Visual Basic) 또는 csc.exe를 사용한 명령줄 빌드를 참조하십시오. Visual Studio에서 코드를 새 프로젝트에 붙여넣어 이 예제를 빌드할 수도 있습니다. 자세한 내용은 다음을 참조하십시오. 방법: Visual Studio를 사용하여 전체 Windows Forms 코드 예제 컴파일 및 실행 및 방법: Visual Studio를 사용하여 전체 Windows Forms 코드 예제 컴파일 및 실행 및 방법: Visual Studio를 사용하여 전체 Windows Forms 코드 예제 컴파일 및 실행 및 방법: Visual Studio를 사용하여 전체 Windows Forms 코드 예제 컴파일 및 실행 및 방법: Visual Studio를 사용하여 전체 Windows Forms 코드 예제 컴파일 및 실행.
참고 항목
작업
방법: ContextMenuStrip에 메뉴 항목 추가