Zooms to the selected layer in the Table of Contents (TOC) associated with the active view.
[C#]
///<summary>Zooms to the selected layer in the TOC associated with the active view.</summary> /// ///<param name="mxDocument">An IMxDocument interface</param> /// ///<remarks></remarks> public void ZoomToActiveLayerInTOC(ESRI.ArcGIS.ArcMapUI.IMxDocument mxDocument) { if(mxDocument == null) { return; } ESRI.ArcGIS.Carto.IActiveView activeView = mxDocument.ActiveView; // Get the TOC ESRI.ArcGIS.ArcMapUI.IContentsView IContentsView = mxDocument.CurrentContentsView; // Get the selected layer System.Object selectedItem = IContentsView.SelectedItem; if (!(selectedItem is ESRI.ArcGIS.Carto.ILayer)) { return; } ESRI.ArcGIS.Carto.ILayer layer = selectedItem as ESRI.ArcGIS.Carto.ILayer; // Zoom to the extent of the layer and refresh the map activeView.Extent = layer.AreaOfInterest; activeView.Refresh(); }
[Visual Basic .NET]
'''<summary>Zooms to the selected layer in the TOC associated with the active view.</summary> ''' '''<param name="mxDocument">An IMxDocument interface</param> ''' '''<remarks></remarks> Public Sub ZoomToActiveLayerInTOC(ByVal mxDocument As ESRI.ArcGIS.ArcMapUI.IMxDocument) If mxDocument Is Nothing Then Return End If ' Get the map Dim activeView As ESRI.ArcGIS.Carto.IActiveView = mxDocument.ActiveView ' Get the TOC Dim contentsView As ESRI.ArcGIS.ArcMapUI.IContentsView = mxDocument.CurrentContentsView ' Get the selected layer Dim selectedItem As System.Object = contentsView.SelectedItem If Not (TypeOf selectedItem Is ESRI.ArcGIS.Carto.ILayer) Then Return End If Dim layer As ESRI.ArcGIS.Carto.ILayer = TryCast(selectedItem, ESRI.ArcGIS.Carto.ILayer) ' Dynamic Cast ' Zoom to the extent of the layer and refresh the map activeView.Extent = layer.AreaOfInterest activeView.Refresh() End Sub