About the Custom selection extension Sample
[C#]
ZoomToLayerMultiItem.cs
using System;
using System.Collections.Generic;
using System.Text;
namespace SelectionSample
{
public class ZoomToLayerMultiItem : ESRI.ArcGIS.Desktop.AddIns.MultiItem
{
protected override void OnClick(Item item)
{
ESRI.ArcGIS.Carto.ILayer layer = item.Tag as ESRI.ArcGIS.Carto.ILayer;
ESRI.ArcGIS.Geometry.IEnvelope env = layer.AreaOfInterest;
ArcMap.Document.ActiveView.Extent = env;
ArcMap.Document.ActiveView.Refresh();
}
protected override void OnPopup(ItemCollection items)
{
ESRI.ArcGIS.Carto.IMap map = ArcMap.Document.FocusMap;
for (int i = 0; i < map.LayerCount; i++)
{
ESRI.ArcGIS.Carto.ILayer layer = map.get_Layer(i);
Item item = new Item();
item.Caption = layer.Name;
item.Enabled = layer.Visible;
item.Message = layer.Name;
item.Tag = layer;
items.Add(item);
}
}
}
}
[Visual Basic .NET]
ZoomToLayerMultiItem.vb
Imports Microsoft.VisualBasic Imports System Imports System.Collections.Generic Imports System.Text Imports My Namespace SelectionSample Public Class ZoomToLayerMultiItem Inherits ESRI.ArcGIS.Desktop.AddIns.MultiItem Protected Overrides Sub OnClick(ByVal item As Item) Dim layer As ESRI.ArcGIS.Carto.ILayer = TryCast(item.Tag, ESRI.ArcGIS.Carto.ILayer) Dim env As ESRI.ArcGIS.Geometry.IEnvelope = layer.AreaOfInterest ArcMap.Document.ActiveView.Extent = env ArcMap.Document.ActiveView.Refresh() End Sub Protected Overrides Sub OnPopup(ByVal items As ItemCollection) Dim map As ESRI.ArcGIS.Carto.IMap = ArcMap.Document.FocusMap For i As Integer = 0 To map.LayerCount - 1 Dim layer As ESRI.ArcGIS.Carto.ILayer = map.Layer(i) Dim item As New Item() item.Caption = layer.Name item.Enabled = layer.Visible item.Message = layer.Name item.Tag = layer items.Add(item) Next i End Sub End Class End Namespace