winform菜单栏、快捷菜单、右键弹出式菜单基本操作
实现功能:
①在窗体是默认色的情况下,右键菜单“默认颜色”勾中;在窗体是完全不透明情况下,右键菜单“不透明”勾中
②通过主菜单修改背景色后,右键菜单“默认颜色”不勾中,选择“默认颜色”后,变为系统颜色,且菜单变为勾中。
③通过主菜单修改不透明度后,右键菜单“不透明”不勾中,选择“不透明”后,系统不透明,且菜单变为勾中。
④需拖拽控件MenuStrip(菜单栏)、ToolStrip(快捷菜单栏)、ContextMenuStrip(右键弹出式菜单)。
⑤控件、组件Name命名如下图:
代码如下:
private void _3_1_Load(object sender, EventArgs e)
{
//页面加载时“默认背景”和“不透明”以及“透明度100%”都为勾中状态
tsm100.Checked = cmsSystemColor.Checked = cmsUnopacity.Checked = true;
}
//下拉菜单“红”的click事件
private void tsmRed_Click(object sender, EventArgs e)
{
tsmRed.Checked = true; //“红”勾中
cmsSystemColor.Checked = tsmYellow.Checked = tsmBlue.Checked = false; //除“红”外都不勾中
this.BackColor = Color.Red;//背景色设置为红色
}
//下拉菜单“黄”的click事件
private void tsmYellow_Click(object sender, EventArgs e)
{
tsmYellow.Checked = true;
cmsSystemColor.Checked = tsmRed.Checked = tsmBlue.Checked = false;
this.BackColor = Color.Yellow;
}
//下拉菜单“蓝”的click事件
private void tsmBlue_Click(object sender, EventArgs e)
{
tsmBlue.Checked = true;
cmsSystemColor.Checked = tsmYellow.Checked = tsmRed.Checked = false;
this.BackColor = Color.Blue;
}
//右键窗体的“默认颜色”的click事件
private void cmsSystemColor_Click(object sender, EventArgs e)
{
cmsSystemColor.Checked = true;//“默认颜色”勾中
tsmRed.Checked =tsmYellow.Checked= tsmBlue.Checked = false;//下拉菜单都不勾中
this.BackColor = SystemColors.Control; //背景色设置回默认色
}
//快捷菜单栏里的“红”按钮
private void tsbtnRed_Click(object sender, EventArgs e)
{
tsmRed_Click(sender, e);//调用上面 下拉菜单中“红”的click事件
}
//快捷菜单栏里的“黄”按钮
private void tsbtnYellow_Click(object sender, EventArgs e)
{
tsmYellow_Click(sender, e);
}
//快捷菜单栏里的“蓝”按钮
private void tsbtnBlue_Click(object sender, EventArgs e)
{
tsmBlue_Click(sender, e);
}
//不透明度100%的click事件
private void tsm100_Click(object sender, EventArgs e)
{
cmsUnopacity.Checked= tsm100.Checked = true; //“不透明度100%”和右键里的“不透明”都勾中
tsm75.Checked = tsm50.Checked = tsm25.Checked = false;//下拉菜单都不勾中
this.Opacity = 1; //设置不透明度为1
}
//不透明度75%的click事件
private void tsm75_Click(object sender, EventArgs e)
{
tsm75.Checked = true;
cmsUnopacity.Checked = tsm100.Checked = tsm50.Checked = tsm25.Checked = false;
this.Opacity = 0.75;
}
//不透明度50%的click事件
private void tsm50_Click(object sender, EventArgs e)
{
tsm50.Checked = true;
cmsUnopacity.Checked = tsm100.Checked = tsm75.Checked = tsm25.Checked = false;
this.Opacity = 0.5;
}
//不透明度25%的click事件
private void tsm25_Click(object sender, EventArgs e)
{
tsm25.Checked = true;
cmsUnopacity.Checked = tsm100.Checked = tsm50.Checked = tsm75.Checked = false;
this.Opacity = 0.25;
}
//右键中的“不透明”的click事件
private void cmsUnopacity_Click(object sender, EventArgs e)
{
tsm100_Click(sender, e); //调用上面 不透明度100 % 的click事件
}
如有转载请注明来源: www.dreamload.cn/blog/?p=312&preview=true (洋葱先生)