Procedura: associare ContextMenuStrip a un controllo
Aggiornamento: novembre 2007
Dopo avere creato controlli e menu di scelta rapida, attenersi alle procedure riportate di seguito per visualizzare un determinato menu di scelta rapida quando l'utente fa clic sul controllo con il pulsante destro del mouse. Queste procedure consentono di associare un ContextMenuStrip a un Windows Form e a un controllo ToolStrip.
Per associare un ContextMenuStrip a un Windows Form
- Impostare la proprietà ContextMenuStrip sul nome del controllo ContextMenuStrip associato.
Per associare un ContextMenuStrip a un controllo ToolStrip
- Impostare la proprietà ContextMenuStrip del controllo sul nome del controllo ContextMenuStrip associato.
Esempio
Nell'esempio di codice riportato di seguito vengono creati un Windows Form e un controllo ToolStrip e a ciascuno di essi viene associato un ContextMenuStrip diverso.
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();
}
}
}
Compilazione del codice
Per questo esempio sono necessari i seguenti requisiti:
- Riferimenti agli assembly System, System.Data, System.Drawing e System.Windows.Forms.
Per informazioni sulla generazione di questo esempio dalla riga di comando per Visual Basic o Visual C#, vedere Compilazione dalla riga di comando (Visual Basic) o Compilazione dalla riga di comando con csc.exe. È anche possibile generare questo esempio in Visual Studio incollando il codice in un nuovo progetto.
Vedere anche
Attività
Procedura: aggiungere voci di menu a un ContextMenuStrip