←Select platform

Tag Property

Summary

Gets or sets the object that contains data about this RasterImageListItem.

Syntax

C#
VB
C++
public object Tag { get; set; } 
  
Public Property Tag As Object 
public: 
property Object^ Tag { 
   Object^ get(); 
   void set (    Object^ ); 
} 

Property Value

An System.Object that contains data about this RasterImageListItem. The default value is a null reference (Nothing in VB).

Remarks

Any System.Object derived type can be assigned to this property.

You can use this property to associate your own user-defined data with an item.

Example

This example creates and populates a RasterImageList control with a few items. It then associates each item with a user-defined object. When the selected item is changed by the user interface, the corresponding user data is pulled from the selected item and displayed in a message box.

C#
VB
using Leadtools.WinForms; 
using Leadtools; 
using Leadtools.Codecs; 
 
private class UserData 
{ 
   public int Number; 
   public string Text; 
} 
 
public void RasterImageListItem_Tag(RasterImageList imageList) 
{ 
   // Create a new RasterImageList control. 
   imageList.Bounds = new Rectangle(new Point(0, 0), new Size(300, 200)); 
 
   // Sort the items in the list in ascending order. 
   imageList.Sorting = SortOrder.Ascending; 
 
   // Initialize the RasterCodecs class 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // Clear existing items 
   imageList.Items.Clear(); 
 
   // Create three items 
   string imagesPath = LEAD_VARS.ImagesDir; 
 
   for (int i = 0; i < 3; i++) 
   { 
      // Load the image 
      int index = i + 1; 
      string imageFileName = Path.Combine(imagesPath, @"ImageProcessingDemo\Image" + index.ToString() + ".cmp"); 
      RasterImage image = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1); 
      RasterImageListItem item = new RasterImageListItem(image, 1, "Item" + index.ToString()); 
 
      // Select the first item 
      if (i == 0) 
         item.Selected = true; 
 
      // Add the user data 
      UserData data = new UserData(); 
      data.Number = index; 
      data.Text = "This is data number " + index.ToString(); 
      item.Tag = data; 
 
      // Add the item to the image list 
      imageList.Items.Add(item); 
   } 
 
   // Add a handler to the SelectedIndexChanged event 
   imageList.SelectedIndexChanged += new EventHandler(imageList_SelectedIndexChanged); 
} 
 
private void imageList_SelectedIndexChanged(object sender, EventArgs e) 
{ 
   // User has selected an item from the RasterImageList control. 
   // Get the user data associated with the currently selected item and 
   // show it in a message box 
 
   RasterImageList imageList = sender as RasterImageList; 
 
   // Get the selected item(s) 
   RasterImageListItemCollection selectedItems = imageList.SelectedItems; 
   if (selectedItems != null && selectedItems.Count == 1) 
   { 
      RasterImageListItem item = selectedItems[0]; 
 
      // Load the image in its original size and set it in the viewer 
      UserData data = item.Tag as UserData; 
      string msg = string.Format("Number = {0}{1}Text = {2}", data.Number, Environment.NewLine, data.Text); 
      MessageBox.Show(msg); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.WinForms 
Imports Leadtools 
Imports Leadtools.Codecs 
 
Private Class UserData 
   Public Number As Integer 
   Public Text As String 
End Class 
 
Public Sub RasterImageListItem_Tag(ByVal imageList As RasterImageList) 
   ' Create a new RasterImageList control. 
   imageList.Bounds = New Rectangle(New Point(0, 0), New Size(300, 200)) 
 
   ' Sort the items in the list in ascending order. 
   imageList.Sorting = SortOrder.Ascending 
 
   ' Initialize the RasterCodecs class 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   ' Clear existing items 
   imageList.Items.Clear() 
 
   ' Create three items 
   Dim imagesPath As String = LEAD_VARS.ImagesDir 
 
   For i As Integer = 0 To 2 
      ' Load the image 
      Dim index As Integer = i + 1 
      Dim imageFileName As String = Path.Combine(imagesPath, "ImageProcessingDemo\Image" & index.ToString() & ".cmp") 
      Dim image As RasterImage = codecs.Load(imageFileName, 0, CodecsLoadByteOrder.BgrOrGray, 1, 1) 
      Dim item As RasterImageListItem = New RasterImageListItem(image, 1, "Item" & index.ToString()) 
 
      ' Select the first item 
      If i = 0 Then 
         item.Selected = True 
      End If 
 
      ' Add the user data 
      Dim data As UserData = New UserData() 
      data.Number = index 
      data.Text = "This is data number " & index.ToString() 
      item.Tag = data 
 
      ' Add the item to the image list 
      imageList.Items.Add(item) 
   Next i 
 
   ' Add a handler to the SelectedIndexChanged event 
   AddHandler imageList.SelectedIndexChanged, AddressOf imageList_SelectedIndexChanged 
End Sub 
 
Private Sub imageList_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) 
   ' User has selected an item from the RasterImageList control. 
   ' Get the user data associated with the currently selected item and 
   ' show it in a message box 
 
   Dim imageList As RasterImageList = CType(IIf(TypeOf sender Is RasterImageList, sender, Nothing), RasterImageList) 
 
   ' Get the selected item(s) 
   Dim selectedItems As RasterImageListItemCollection = imageList.SelectedItems 
   If Not selectedItems Is Nothing AndAlso selectedItems.Count = 1 Then 
      Dim item As RasterImageListItem = selectedItems(0) 
 
      ' Load the image in its original size and set it in the viewer 
      Dim data As UserData = CType(IIf(TypeOf item.Tag Is UserData, item.Tag, Nothing), UserData) 
      Dim msg As String = String.Format("Number = {0}{1}Text = {2}", data.Number, Environment.NewLine, data.Text) 
      MessageBox.Show(msg) 
   End If 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.WinForms Assembly