一.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();
}