LEADTOOLS Windows Forms (Leadtools.WinForms assembly)
LEAD Technologies, Inc

Tag Property

Example 





Gets or sets the object that contains data about this RasterImageListItem.
Syntax
public object Tag {get; set;}
'Declaration
 
Public Property Tag As Object
'Usage
 
Dim instance As RasterImageListItem
Dim value As Object
 
instance.Tag = value
 
value = instance.Tag
public object Tag {get; set;}
 get_Tag();
set_Tag(value);
public:
property Object^ Tag {
   Object^ get();
   void set (    Object^ value);
}

Property Value

An System.Object that contains data about this RasterImageListItem. The default value is a null reference (Nothing in Visual Basic).
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
 
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
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";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RasterImageListItem Class
RasterImageListItem Members

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.