我在ArcMap的同一工具欄中有一個下拉菜單和一個Icommand按鈕。當我使用命令按鈕時,我似乎無法訪問下拉選擇。如何從ArcObjects的命令按鈕中獲取DropDown選擇?
我怎樣才能找到下拉,所以我可以找出用戶剛剛選擇了什麼?
感謝
斯科特
我在ArcMap的同一工具欄中有一個下拉菜單和一個Icommand按鈕。當我使用命令按鈕時,我似乎無法訪問下拉選擇。如何從ArcObjects的命令按鈕中獲取DropDown選擇?
我怎樣才能找到下拉,所以我可以找出用戶剛剛選擇了什麼?
感謝
斯科特
我發現下拉與此代碼...然後我一頭深入一點拉下拉出來。
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是我的工具的名稱...你會有所不同。
如果您的下拉列表在實現IToolControl的命令中,您應該能夠使用ICommandbars.Find查找該命令,然後將其轉換爲MyToolControl,然後使用MyToolControl.Selection。選擇是一種您需要實現的方法,以訪問包含的下拉菜單。
另一種(更多MVC-ish)方法是讓IToolControl更新自定義IExtension(例如MyExtension.MyProperty)上的屬性,該屬性被實現爲在屬性發生更改時引發事件,以便其他工具可以處於同步。
難以理解。不清楚 – 2011-05-02 08:08:08