Add-ins.C#.Взаимоувязывание контролов.
Добавлено: 11 окт 2013, 21:25
Добрый вечер.
Я начал осваивать программирование на C# под аркгис, и столкнулся с некоторыми трудностями.
Например у меня есть add-in для ArcMap. В нем есть инструмент, кнопка и комбобокс. Управлять, инструментом у меня получается только из класса инструмента, где я могу написать. Как мне обратиться к управлению инструментом из класса кнопки?
Отдельная проблема - это увязывание действий моих контролов с сессией редактирования.
В классе самого инструмента я написал такую штуку:
Это позволило мне например активировать и деактивировать его одновременно с командами StartEditing и Stop Editing
Дальше я с помощью инструмента провожу действия над таблицей атрибутов. Сначала все хорошо: тыкаешь им на объекты и атрибуты меняются как надо. Но когда я хочу завершить редактирование, во-первых не выскакивает стандартное окно "Do you want to save edits", во-вторых если сохранить изменения принудительно, и затем - завершить редактирование - то ArcMap тупо вылетает, ничего не объясняя.
Буду очень признателен, если направите меня в какую сторону копать. Могу представить полный код с конкретными действиями над таблицей атрибутов, если дело все-таки в нем.
Я начал осваивать программирование на C# под аркгис, и столкнулся с некоторыми трудностями.
Например у меня есть add-in для ArcMap. В нем есть инструмент, кнопка и комбобокс. Управлять, инструментом у меня получается только из класса инструмента, где я могу написать
Код: Выделить всё
this.enabled
Отдельная проблема - это увязывание действий моих контролов с сессией редактирования.
В классе самого инструмента я написал такую штуку:
Код: Выделить всё
public IEditor m_Editor = (ESRI.ArcGIS.Editor.IEditor)ArcMap.Application.FindExtensionByName("ESRI Object Editor");
Код: Выделить всё
if (m_Editor.EditState == ESRI.ArcGIS.Editor.esriEditState.esriStateEditing)
{
this.Enabled = true;
}
else
{
this.Enabled = false;
}
Дальше я с помощью инструмента провожу действия над таблицей атрибутов. Сначала все хорошо: тыкаешь им на объекты и атрибуты меняются как надо. Но когда я хочу завершить редактирование, во-первых не выскакивает стандартное окно "Do you want to save edits", во-вторых если сохранить изменения принудительно, и затем - завершить редактирование - то ArcMap тупо вылетает, ничего не объясняя.
Буду очень признателен, если направите меня в какую сторону копать. Могу представить полный код с конкретными действиями над таблицей атрибутов, если дело все-таки в нем.