2010-05-19 3 views
1

У меня есть выпадающий список и кнопка Icommand на той же панели инструментов в ArcMap. Кажется, я не могу получить доступ к выбору выпадающих списков, когда я использую кнопку команды.Как получить выбор DropDown из командной кнопки в ArcObjects?

Как найти раскрывающееся меню, чтобы я мог узнать, что только что выбрал пользователь?

Благодаря

Скотт

ответ

0

Я нашел Опуститесь с этим кодом ... Тогда я нырнул поглубже, чтобы вытащить из выпадающего меню.

var commandBars= m_application.Document.CommandBars; 
      ESRI.ArcGIS.esriSystem.UID pUID = new UIDClass(); 
      pUID.Value = "{A6D2046E-F92C-440f-B54B-91899B4F667E}"; 
      var commmandItem = commandBars.Find(pUID, false, false); 

Тогда Dropdown был:

(ComboBox)((LOSBaseCampExample.LOSSurroundBaseCampControl)(commmandItem.Command)).Controls[0]) 

Примечание: LOSBaseCampExample.LOSSurroundBaseCampControl было имя моего инструмента ... Ваш будет отличаться.

+0

Трудно понять. Не ясно –

1

Если вы выпадающий список находится внутри команды, реализующей IToolControl, вы можете использовать ICommandbars.Find, чтобы найти команду, а затем применить ее к MyToolControl, а затем использовать MyToolControl.Selection. Выбор - это метод, который вам нужно реализовать для доступа к раскрывающемуся списку.

Другой (более MVC-ish) способ заключается в том, чтобы обновление IToolControl имело свойство на пользовательском IExtension (например, MyExtension.MyProperty), которое реализовано для создания события, когда свойство было изменено, чтобы другие инструменты могли находиться в синхронизация.

Смежные вопросы