Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:是否可以获取菜单项中下拉项的索引?_C#_Drop Down Menu - Fatal编程技术网

C#:是否可以获取菜单项中下拉项的索引?

C#:是否可以获取菜单项中下拉项的索引?,c#,drop-down-menu,C#,Drop Down Menu,是否可以在下拉菜单中获取项目的索引 在强制转换到ToolStripMenuItem时,上述解决方案可能会抛出null,并且有一些绒毛。这个比较干净: private void item_Click(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; if (item != null) { int index = (item.OwnerItem

是否可以在下拉菜单中获取项目的索引

在强制转换到ToolStripMenuItem时,上述解决方案可能会抛出null,并且有一些绒毛。这个比较干净:

private void item_Click(object sender, EventArgs e)
{
    ToolStripMenuItem item = sender as ToolStripMenuItem;
    if (item != null)
    {
        int index = (item.OwnerItem as ToolStripMenuItem).DropDownItems.IndexOf(item);
    }
}
private void item_Click(object sender, EventArgs e)
{
    ToolStripMenuItem item = sender as ToolStripMenuItem;
    if (item != null)
    {
        int index = ContextMenuStrip.Items.IndexOf(commentMenuItem);
    }
}

请详细说明,没有足够的信息。我不确定我是否理解您的意图。你能提供更多关于你的具体场景的细节吗?什么样的下拉菜单?WPF/表单等?我有一个名为“项目”的菜单项,每次创建新项目或打开项目时,它都会作为下拉项添加到此菜单项。然后单击下拉项时,我想传递菜单项的索引。@devnull OK,这很有意义。谢谢:)@Petar-其中一个菜单项已将项添加到下拉项列表中。我想找到我点击的下拉项的索引。@devnull-工作得很好!非常感谢!我已经接受了答案。