如何从ArcObjects中的命令按钮获取DropDown选项?

时间:2010-05-19 16:00:56

标签: c# esri arcobjects icommand arcmap

我在ArcMap的同一个工具栏中有一个下拉列表和一个Icommand按钮。当我使用命令按钮时,我似乎无法访问下拉列表选项。

如何找到下拉菜单,以便找出用户刚刚选择的内容?

由于

斯科特

2 个答案:

答案 0 :(得分:1)

如果您的下拉列表位于实现IToolControl的命令中,您应该能够使用ICommandbars.Find查找命令,然后将其强制转换为MyToolControl,然后使用MyToolControl.Selection。选择是一种您需要实现的方法,用于访问包含的下拉列表。

另一种(更多MVC-ish)方法是让IToolControl在自定义IExtension(例如MyExtension.MyProperty)上更新属性,该属性实现为在属性发生更改时引发事件,以便其他工具可以同步

答案 1 :(得分: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是我的工具的名称......你的不同。