WindowForm组件MenuStrip,ContextMenuStrip

一.MenuStrip 菜单控件----包含多个菜单项的容器
1.属性
Name ,Dock 布局, Items 菜单项的集合
Items
DropDownItems 子菜单集合
ShortcutKeys快捷键 Alt+F 同时 项文本后面(文本&F)
Ctrl+N 项文本后面 不需要加
项 ToolStripMenuItem
子菜单项 ToolStripMenuItem
菜单项中图标—关联图片集合控件ImageList
2. 手动添加—每个菜单项,都要为它注册响应–Click
菜单项它有子级菜单,就不用为它注册响应

添加菜单项

在这里插入图片描述

private void FrmMenuStrip_Load(object sender, EventArgs e)
{
    
    
    //代码添加菜单项
    ToolStripMenuItem miStudent = new ToolStripMenuItem();
    miStudent.Name = "miStudent";       //名称
    miStudent.Text = "学生管理(&M)";    //显示文本
    //它下面还有子菜单 
    ToolStripMenuItem miAddStudent = new ToolStripMenuItem();
    miAddStudent.Name = "miAddStudent";
    miAddStudent.Text = "新增学生";
    miAddStudent.Click += MiAddStudent_Click;   //响应事件 
    miStudent.DropDownItems.Add(miAddStudent);  //添加子菜单
    menuStrip1.Items.Add(miStudent);            //添加主菜单
}
//点击事件
private void MiAddStudent_Click(object sender, EventArgs e)
{
    
    
     MForms.FrmAddStudent fAddStudent = new MForms.FrmAddStudent();
     fAddStudent.MdiParent = this;   //设置当前窗体的父窗体
     fAddStudent.Show();             //Mdi容器不支持ShowDialog()
 }

鼠标移过自动显示下拉菜单
在这里插入图片描述

private void FrmContextMenuStrip_Load(object sender, EventArgs e)
{
    
    
    menuStrip1.Items[0].MouseHover += FrmContextMenuStrip_MouseHover;
}
//鼠标移过事件
private void FrmContextMenuStrip_MouseHover(object sender, EventArgs e)
{
    
    
    if (sender is ToolStripMenuItem)
    {
    
    
        ToolStripMenuItem item = sender as ToolStripMenuItem;
        if (item.HasDropDownItems && !item.DropDown.Visible)//有菜单项 且 菜单项不可见
        {
    
    
            item.ShowDropDown();
        }
    }
}

二.ContextMenuStrip 右击菜单项

使用 依赖某个窗体或控件在这里插入图片描述

 //设置背景色为红色
 private void miRed_Click(object sender, EventArgs e)
 {
    
    
     this.BackColor = Color.Red;
 }
 //设置背景色为绿色
 private void miGreen_Click(object sender, EventArgs e)
 {
    
    
     this.BackColor = Color.Green;
 }
 //新画面
  private void miAddStudent_Click(object sender, EventArgs e)
  {
    
    
      MForms.FrmAddStudent fStudent = new MForms.FrmAddStudent();	//学生新增页面
      fStudent.Show();
  }

猜你喜欢

转载自blog.csdn.net/asdasd1fdsyrt/article/details/113956338