Code:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace CsStudy
{
class BetterContextMenu:Form
{
MenuItemColor micColor;
public static void Main()
{
Application.Run(new BetterContextMenu());
}
public BetterContextMenu()
{
Text = "快捷菜单";
EventHandler eh = new EventHandler(MenuColorOnClick);
MenuItemColor[] amic = {
new MenuItemColor(Color.Black,"&Black",eh),new MenuItemColor(Color.Blue,"&Blue",eh),
new MenuItemColor(Color.Green,"&Green",eh),new MenuItemColor(Color.Cyan,"&Cyan",eh),
new MenuItemColor(Color.Red,"&Red",eh),new MenuItemColor(Color.Magenta,"&Magenta",eh),
new MenuItemColor(Color.Yellow,"&Yellow",eh),new MenuItemColor(Color.White,"&White",eh),};
foreach (MenuItemColor mic in amic)
mic.RadioCheck = true;
micColor = amic[3];
micColor.Checked = true;
BackColor = micColor.Color;
ContextMenu = new ContextMenu(amic);
}
void MenuColorOnClick(object obj, EventArgs e)
{
micColor.Checked = false;
micColor = (MenuItemColor)obj;
micColor.Checked = true;
BackColor = micColor.Color;
}
}
class MenuItemColor : MenuItem
{
Color clr;
public MenuItemColor(Color clr,string str,EventHandler eh):base(str,eh)
{
Color = clr;
}
public Color Color
{
get { return clr; }
set { clr = value; }
}
}
}
效果图: