Add ContextMenu to TextBox : ContextMenu Popup Menu « GUI Windows Forms « C# / CSharp Tutorial






Add ContextMenu to TextBox
using System;
using System.Drawing;
using System.Windows.Forms;

public class TextBoxContextMenuDemo : Form
{
    public TextBoxContextMenuDemo()
    {
        InitializeComponent();

        ContextMenu mnuContext = new ContextMenu();
        foreach (MenuItem mnuItem in mnuFile.MenuItems)
        {
            mnuContext.MenuItems.Add(mnuItem.CloneMenu());
        }

        TextBox1.ContextMenu = mnuContext;
    }

    private void TextBox1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            TextBox1.ContextMenu.Show(TextBox1, new Point(e.X, e.Y));
        }
    }

    private void mnuOpen_Click(object sender, EventArgs e)
    {
        MessageBox.Show("This is the event handler for Open.","TextBoxContextMenuDemo");
    }

    private void mnuSave_Click(object sender, EventArgs e)
    {
        MessageBox.Show("This is the event handler for Save.","TextBoxContextMenuDemo");
    }

    private void mnuExit_Click(object sender, EventArgs e)
    {
        MessageBox.Show("This is the event handler for Exit.","TextBoxContextMenuDemo");
    }

    [STAThread]
    public static void Main(string[] args)
    {
        Application.Run(new TextBoxContextMenuDemo());
    }
    private System.Windows.Forms.MainMenu MainMenu1;
    private System.Windows.Forms.MenuItem mnuFile;
    private System.Windows.Forms.MenuItem mnuOpen;
    private System.Windows.Forms.MenuItem mnuSave;
    private System.Windows.Forms.MenuItem mnuExit;
    private System.Windows.Forms.MenuItem MenuItem5;
    private System.Windows.Forms.MenuItem MenuItem6;
    private System.Windows.Forms.MenuItem MenuItem7;
    private System.Windows.Forms.MenuItem MenuItem8;
    private System.Windows.Forms.TextBox TextBox1;

    private System.ComponentModel.IContainer components = null;

    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.MainMenu1 = new System.Windows.Forms.MainMenu(this.components);
        this.mnuFile = new System.Windows.Forms.MenuItem();
        this.mnuOpen = new System.Windows.Forms.MenuItem();
        this.mnuSave = new System.Windows.Forms.MenuItem();
        this.mnuExit = new System.Windows.Forms.MenuItem();
        this.MenuItem5 = new System.Windows.Forms.MenuItem();
        this.MenuItem6 = new System.Windows.Forms.MenuItem();
        this.MenuItem7 = new System.Windows.Forms.MenuItem();
        this.MenuItem8 = new System.Windows.Forms.MenuItem();
        this.TextBox1 = new System.Windows.Forms.TextBox();
        this.SuspendLayout();
        // 
        // MainMenu1
        // 
        this.MainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
        this.mnuFile,
        this.MenuItem5});
        // 
        // mnuFile
        // 
        this.mnuFile.Index = 0;
        this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
        this.mnuOpen,
        this.mnuSave,
        this.mnuExit});
        this.mnuFile.Text = "File";
        // 
        // mnuOpen
        // 
        this.mnuOpen.Index = 0;
        this.mnuOpen.Text = "Open";
        this.mnuOpen.Click += new System.EventHandler(this.mnuOpen_Click);
        // 
        // mnuSave
        // 
        this.mnuSave.Index = 1;
        this.mnuSave.Text = "Save";
        this.mnuSave.Click += new System.EventHandler(this.mnuSave_Click);
        // 
        // mnuExit
        // 
        this.mnuExit.Index = 2;
        this.mnuExit.Text = "Exit";
        this.mnuExit.Click += new System.EventHandler(this.mnuExit_Click);
        // 
        // MenuItem5
        // 
        this.MenuItem5.Index = 1;
        this.MenuItem5.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
        this.MenuItem6,
        this.MenuItem7,
        this.MenuItem8});
        this.MenuItem5.Text = "Edit";
        // 
        // MenuItem6
        // 
        this.MenuItem6.Index = 0;
        this.MenuItem6.Text = "Cut";
        // 
        // MenuItem7
        // 
        this.MenuItem7.Index = 1;
        this.MenuItem7.Text = "Copy";
        // 
        // MenuItem8
        // 
        this.MenuItem8.Index = 2;
        this.MenuItem8.Text = "Paste";
        // 
        // TextBox1
        // 
        this.TextBox1.Location = new System.Drawing.Point(44, 56);
        this.TextBox1.Multiline = true;
        this.TextBox1.Name = "TextBox1";
        this.TextBox1.Size = new System.Drawing.Size(180, 88);
        this.TextBox1.TabIndex = 1;
        this.TextBox1.Text = "Right click here to view the cloned context menu.";
        this.TextBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.TextBox1_MouseDown);
        // 
        // TextBoxContextMenuDemo
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(292, 266);
        this.Controls.Add(this.TextBox1);
        this.Menu = this.MainMenu1;
        this.ResumeLayout(false);
        this.PerformLayout();

    }
}








23.40.ContextMenu Popup Menu
23.40.1.Form popup menuForm popup menu
23.40.2.Add ContextMenu to TextBoxAdd ContextMenu to TextBox