ArcObjects Library Reference  

ZoomToLayerMultiItem

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