This document is archived and information here might be outdated. Recommended version. |
ArcObjects Help for .NET developers > ESRI.ArcGIS.Snippets > Snippets > Zoom to Active Layer in TOC Snippet (ArcObjects .NET 10.4 SDK) |
Zooms to the selected layer in the Table of Contents (TOC) associated with the active view.
///<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(); }
'''<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