ESRI Desktop Addins |
MultiItem..::.Item..::.Message Property |
MultiItem..::.Item Class Example See Also |
The status bar message for the item in the multiItem.
Namespace:
ESRI.ArcGIS.Desktop.AddInsAssembly: ESRI.ArcGIS.Desktop.Addins (in ESRI.ArcGIS.Desktop.Addins.dll) Version: 10.0.0.0 (10.0.0.0)
Syntax
C# |
---|
public string Message { get; set; } |
Visual Basic (Declaration) |
---|
Public Property Message As String |
Visual C++ |
---|
public: property String^ Message { String^ get (); void set (String^ value); } |
Field Value
A string containing the message.Remarks
Use the Message property to get or set the message string that appears on the status bar of the application when the mouse passes over the item in this multiItem.
This assigns the individual message for each item. if you want the message for all items in the multiItem, set the message attribute through the add-in xml
Examples
The code below shows an implementation of a multiItem that list all of the feature layers in the current map. Clicking on each item makes the map zoom to the corresponding layer.
CopyC#
public class ZoomToLayerMultiItem : ESRI.ArcGIS.Desktop.AddIns.MultiItem { protected override void OnClick(Item item) { int index = this.IndexOf(item); System.Diagnostics.Debug.WriteLine("The index of the clicked item is " + index.ToString()); ESRI.ArcGIS.Carto.IMap map = ArcMap.Document.FocusMap; 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); item.BeginGroup = true; } } }
CopyVB.NET
Public Class ZoomToLayerMultiItem Inherits ESRI.ArcGIS.Desktop.AddIns.MultiItem Protected Overloads Overrides Sub OnClick(ByVal item As Item) Dim index As Integer = Me.IndexOf(item) System.Diagnostics.Debug.WriteLine("The index of the clicked item is " & index.ToString()) Dim map As ESRI.ArcGIS.Carto.IMap = ArcMap.Document.FocusMap 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 Overloads 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.get_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) item.BeginGroup = True Next End Sub End Class