Leadtools.WinForms Namespace > RasterImageListItem Class : Tag Property |
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);
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.
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"; }
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