VS 2008 Addin -> Как добавить подменю в определенной позиции в контекстном меню? - PullRequest
5 голосов
/ 30 июня 2011

Я работаю над надстройкой для Visual Studio 2008 и хочу добавить постоянное подменю, содержащее мои контекстно-зависимые команды, в несколько контекстных меню (таких как «Проект», «Элемент», ...).*

У меня не было проблем с добавлением этого подменю в верхнюю часть контекстного меню или в его нижнюю часть.Я использую:

 mPlugin.Commands.AddCommandBar(_MenuName, vsCommandBarType.vsCommandBarTypeMenu, commandBar, desiredSubmenuPosition); /*desiredSubmenuPosition = 1 or desiredSubmenuPosition = commandBar.Controls.Count+1 work perfectly fine.

Однако я хочу добавить свое подменю прямо перед последним разделителем контекстного меню.Для этого я нахожу все элементы управления, имеющие BeginGroup, равными true, и получаю элемент управления с самым большим индексом.Затем я добавляю свое подменю к найденному индексу-1 описанным выше способом.Но что-то не так.Для некоторых контекстных меню это работает нормально, для других это создает мое подменю в неправильном месте (я почти уверен, что нашел правильный индекс для вставки ...).

Есть ли правильный способ сделать это

...