I try the one of your approach, it works well in my computer. Below is my code:
public void AddContextMenu() { ContextMenu mnuContextMenu = new ContextMenu(); mnuContextMenu.MenuItems.Add("&Red LED", new EventHandler(SetDisplayRed)); mnuContextMenu.MenuItems.Add("&Blue LED", new EventHandler(SetDisplayBlue)); mnuContextMenu.MenuItems.Add("&LCD", new EventHandler(SetDisplayLCD)); textBox1.ContextMenu = mnuContextMenu; this.ContextMenu = mnuContextMenu; } private void SetDisplayRed(object sender, EventArgs e) { textBox1.BackColor = Color.Maroon; textBox1.ForeColor = Color.OrangeRed; } private void SetDisplayBlue(object sender, EventArgs e) { textBox1.BackColor = Color.Red; textBox1.ForeColor = Color.Gray; } private void SetDisplayLCD(object sender, EventArgs e) { textBox1.BackColor = Color.Beige; textBox1.ForeColor = Color.Blue; }
>When I right-click on the textbox I get a menu with Undo/Cut/Copy/Paste/Select All. And when I right-click on the form I get nothing
Have you already added your "AddContextMenu()" method into the contruction method of your mainform?
public MainForm() { InitializeComponent(); AddContextMenu(); }
create a C# context menu from code,布布扣,bubuko.com
create a C# context menu from code
原文地址:http://www.cnblogs.com/zeroone/p/3749967.html