我在ArcMap的同一个工具栏中有一个下拉列表和一个Icommand按钮。当我使用命令按钮时,我似乎无法访问下拉列表选项。
如何找到下拉菜单,以便找出用户刚刚选择的内容?
由于
斯科特
答案 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是我的工具的名称......你的不同。