是这样,我C#WINDOWS窗体中在一个列表中使用了contextMenu控件,其中有一个地方使用动态添加了二级菜单,但是不知道如何使用点击,希望高手指点:
比如:右击出现菜单 新增
修改
指定==》动态添加名字(这里名字是读取数据库的,而且都是每次可能不一样)我动态添加的是this.menuItem3.MenuItems.Add(dr["name"].ToString());我运行过,名字是可以动态添加上去,但是,点击事件应该怎么处理。怎么样得到点击选择用中的人名。
希望大家告诉下!
比如:右击出现菜单 新增
修改
指定==》动态添加名字(这里名字是读取数据库的,而且都是每次可能不一样)我动态添加的是this.menuItem3.MenuItems.Add(dr["name"].ToString());我运行过,名字是可以动态添加上去,但是,点击事件应该怎么处理。怎么样得到点击选择用中的人名。
希望大家告诉下!
{
List<string> list = new List<string>();
list.Add("SubItem1");
list.Add("SubItem2");
list.Add("SubItem3"); ToolStripMenuItem myItem = new ToolStripMenuItem();
myItem.Text = "test";
foreach (string item in list)
{
ToolStripMenuItem mi = new ToolStripMenuItem(item);
mi.Text = item;
mi.Click += new EventHandler(CustomItem_Click);
myItem.DropDownItems.Add(mi);
}
contextMenuStrip1.Items.Add(myItem);
}private void CustomItem_Click(object sender, EventArgs e)
{
MessageBox.Show(((ToolStripMenuItem)sender).Text);
}
{
List<string> list = new List<string>();
list.Add("SubItem1");
list.Add("SubItem2");
list.Add("SubItem3"); ContextMenu cm = new ContextMenu();
this.ContextMenu = cm; MenuItem myItem = new MenuItem();
myItem.Text = "test";
foreach (string item in list)
{
MenuItem mi = new MenuItem(item);
mi.Name = item;
mi.Click += new EventHandler(CustomItem_Click); //这里为子菜单添加Click事件
myItem.MenuItems.Add(mi);
}
cm.MenuItems.Add(myItem);
}private void CustomItem_Click(object sender, EventArgs e)
{
//根据sender的Name属性来区分是点了哪个了菜单,写相应的事件处理代码
MessageBox.Show(((MenuItem)sender).Name);
}