获取菜单项点击菜单项及其邻居
本文关键字:菜单项 邻居 获取 | 更新日期: 2023-09-27 18:28:19
我想执行以下操作:当某个菜单项被点击时,这个菜单项应该被选中,而它旁边的菜单项应该不被选中。。我试图解决这个问题的第一部分如下:
private void runningToolStripMenuItem_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
mi.Checked = true;//causes nullpointer exception
menuStrip1.Items[mi.index+1].Checked=false;
menuStrip1.Items[mi.index-1].Checked=false;
}
这个"解决方案"也会导致nullpointer异常。。
您的sender
值不是MenuItem
。这就是你破例的原因。您应该改为转换为ToolStripItem
,请参阅此处
但是,由于ToolStripItem
没有Checked
属性,您可能希望将其强制转换为源自ToolStripItem
的ToolStripMenuItem
。
var mi = sender as ToolStripMenuItem;
if (mi == null)
{
return; // not a menu item
}
// do your stuff here