Выделенные через Ctrl. (Надеюсь, что это вообще возможно). Если нет - пусть с галочкой. В противном случае, я так понимаю, придется рисовать формочку с древом слоев для выбора - какие обрабатывать. А это уже не так удобно. И в MxDocument.SelectedLayer, если выделен один слой, он пишется. А вот если несколько - там висит значение null.
---
Ага, понял о чем вы. Да, действительно, можно выбирать только видимые слои по свойству ILayer.Visible. Но это все-таки не совсем айс. Хочется именно выделенные "по ctrl".
---
Нашел такой вот пример:
http://edndoc.esri.com/arcobjects/9.2/C ... xample.htm
Увы, там показано, как добавлять слои к выделению (если я правильно понял и выделяются слои, а не объекты в них). У самого IContentsView также есть свойство SelectedLayer, и в примечании указано - could be enumerator... АГА, ЩАЗ!
Код: Выделить всё
var doc = ArcMap.Document as IMxDocument;
var map = doc.FocusMap;
var toc = doc.ContentsView[0];
var layers = toc.SelectedItem as IEnumerator<ILayer>; // пробуем...
//var layers = doc.SelectedLayer as IEnumerator<ILayer>; // ...оба варианта
while (layers.MoveNext()) // и здесь нам говорят: "А не пошли бы вы, layers == null!" =\