窗体 动态从数据库中生成按钮并设置了不同颜色和文本值 如:红色 101 黄色 102
按钮绑定一个右键菜单 右键菜单二级菜单如:(开始 离开 。。)
现在想把 右键菜单二级菜单(开始)按 铵钮中的 ”红色 101 “ 用ContextMenuStrip属性enabled禁用(开始)
而窗体中的 (黄色 102 )这个按钮中的 右键菜单二级菜单(开始) 就不禁用
如同 下图的效果
求方法
------解决思路----------------------
遍历循环判断,然后调用enabled=false
------解决思路----------------------
ContextMenuStrip 这个是右键菜单
MainMenuStrip才是主菜单的,不过也有可能你用的是MenuStrip,逐级往下取
------解决思路----------------------
你的代码是怎么写的呢?正常方法就是enabled属性啊
动态的也一样,绑定opening事件 设置就好了
------解决思路----------------------
类似:
ContextMenuStrip strip = new ContextMenuStrip();
strip.Opening += new CancelEventHandler(strip_Opening);
void strip_Opening(object sender, CancelEventArgs e)
{
(sender as ContextMenuStrip).Items[0].Enabled = false;
}
------解决思路----------------------
你还少了个opening事件,针对不同的button 设置不同的效果
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
Button btn = (Button)contextMenuStrip1.SourceControl;
if (btn.Text == "button1")
{
toolStripMenuItem2.Enabled = false;
}
if (btn.Text == "aspose")
{
toolStripMenuItem3.Enabled = false;
}
}