1

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

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

谢谢

斯科特

4

2 回答 2

1

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

另一种(更多 MVC 风格)方法是让 IToolControl 更新自定义 IExtension 上的属性(例如 MyExtension.MyProperty),该方法用于在属性更改时引发事件,以便其他工具可以同步。

于 2010-05-19T21:01:58.390 回答
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);

然后下拉菜单位于:

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

注意: LOSBaseCampExample.LOSSurroundBaseCampControl 是我的工具的名称......你会有所不同。

于 2010-05-19T20:57:43.250 回答