#region 动态生成右键菜单子菜单
/// <summary>
/// 绑定菜单
/// </summary>
/// <param name="tv">根据不同的tv生成右键菜单项</param>
private void BindMenu(TreeView tv)
{
ctmsMenu.Items.Clear();//清空菜单项避免重负添加
if (tv.Name == "tvQueuing")//排队车辆的tv那右键菜单就只有出站车辆,暂停车辆
{
ToolStripMenuItem menu0 = GetMenuItem("出站车辆");
tv.ContextMenuStrip = ctmsMenu;
menu0.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
ctmsMenu.Items.Add(menu0);//添加一项
ToolStripMenuItem menu1 = GetMenuItem("暂停车辆");
menu1.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
ctmsMenu.Items.Add(menu1);//添加一项
}
if (tv.Name == "tvDeparture")//出站车辆tv那右键菜单就只有排队车辆,暂停车辆
{
ToolStripMenuItem menu0 = GetMenuItem("排队车辆");
tv.ContextMenuStrip = this.ctmsMenu;
menu0.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
ctmsMenu.Items.Add(menu0);//添加一项
ToolStripMenuItem menu1 = GetMenuItem("暂停车辆");
menu1.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
ctmsMenu.Items.Add(menu1);//添加一项
}
if (tv.Name == "tvPause")//暂停车辆tv那右键菜单就只有出站车辆,排队车辆
{
ToolStripMenuItem menu0 = GetMenuItem("出站车辆");
tv.ContextMenuStrip = this.ctmsMenu;
menu0.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
ctmsMenu.Items.Add(menu0);//添加一项
ToolStripMenuItem menu1 = GetMenuItem("排队车辆");
menu1.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
ctmsMenu.Items.Add(menu1);//添加一项
}
}
/// <summary>
/// 菜单项事件响应
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripMenuItem_Click(object sender, EventArgs e)
{
ToolStripMenuItem menu = sender as ToolStripMenuItem;
}
/// <summary>
/// 生成菜单项
/// </summary>
/// <param name="txt"></param>
/// <returns></returns>
private ToolStripMenuItem GetMenuItem(string txt)
{
ToolStripMenuItem menuItem = new ToolStripMenuItem();
menuItem.Text = txt;
return menuItem;
}
//排队车辆选中事件
private void tvQueuing_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
BindMenu(tvQueuing);
}
}
private void tvDeparture_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
BindMenu(tvDeparture);
}
}
private void tvPause_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
BindMenu(tvPause);
}
}
#endregion
动态生成右键菜单子菜单
最新推荐文章于 2023-04-03 15:33:08 发布