←Select platform

Items Property (ImageViewer)

Summary

The collection of items in this ImageViewer

Syntax

C#
VB
C++
public ImageViewerItems Items { get; }
Public ReadOnly Property Items() As ImageViewerItems 
   Get 
public:  
   property ImageViewerItems^ Items 
   { 
      ImageViewerItems^ get() 
   } 

Property Value

The collection of items in this ImageViewer.

Remarks

Items is of type ImageViewerItems which supports standard collection operations such as adding, removing and enumerating the items.

The viewer listens to the events of ImageViewerItems (Using LeadCollection.CollectionChanged) and automatically re-calculates the view layout and update the transformations used when an item is added, removed or changed by the view and items by calling UpdateTransform.

Use BeginUpdate and EndUpdate to optimize this behavior when adding or removing multiple items at once.

The viewer will automatically keep the ActiveItem property set to an item inside this collection. Usually, the first item added if the user did not change the value. When an item is removed, the viewer will set ActiveItem to the new item that takes index in the collection. Finally when no items are left in the collection, ActiveItem will be set to null.

For more information, refer to Image Viewer Items.

Example

This example will show how to add, remove and enumerate items in the viewer.

Start with the ImageViewer example, remove all the code inside the example function (search for the "// TODO: add example code here" comment) and insert the following code:

C#
VB
using Leadtools; 
using Leadtools.Controls; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
 
// Clear all the images already the viewer 
_imageViewer.Items.Clear(); 
// Use vertical view layout 
_imageViewer.ViewLayout = new ImageViewerVerticalViewLayout(); 
_imageViewer.ImageBorderThickness = 1; 
// Add 4 items to the viewer 
using (var codecs = new RasterCodecs()) 
{ 
   for (var page = 1; page <= 4; page++) 
   { 
      var item = new ImageViewerItem(); 
      var fileName = Path.Combine(ImagesPath.Path, string.Format("ocr{0}.tif", page)); 
      item.Image = codecs.Load(fileName, 100, 100, 24, RasterSizeFlags.Resample, CodecsLoadByteOrder.BgrOrGray, page, page); 
      // Set the tag of each item to be the page number 
      item.Tag = page; 
      _imageViewer.Items.Add(item); 
   } 
} 
 
// Show the count 
MessageBox.Show("This must say 4: " + _imageViewer.Items.Count); 
 
// Remove the item at index 1 (page 2) 
_imageViewer.Items.RemoveAt(1); 
MessageBox.Show("This must now say 3: " + _imageViewer.Items.Count); 
 
// Loop through each item and show the tag, since we remove page 2, it must say 1, 3, 4 
foreach (var item in _imageViewer.Items) 
{ 
   var pageNumber = (int)item.Tag; 
   MessageBox.Show(pageNumber.ToString()); 
} 
Imports Leadtools 
Imports Leadtools.Controls 
Imports Leadtools.Codecs 
Imports Leadtools.Drawing 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
 
' Clear all the images already the viewer 
_imageViewer.Items.Clear() 
' Use vertical view layout 
_imageViewer.ViewLayout = New ImageViewerVerticalViewLayout() 
_imageViewer.ImageBorderThickness = 1 
' Add 4 items to the viewer 
Using codecs As New RasterCodecs() 
   For page As Integer = 1 To 4 
      Dim item As New ImageViewerItem() 
      Dim fileName As String = Path.Combine(ImagesPath.Path, String.Format("ocr{0}.tif", page)) 
      item.Image = codecs.Load(fileName, 100, 100, 24, RasterSizeFlags.Resample, CodecsLoadByteOrder.BgrOrGray, page, page) 
      ' Set the tag of each item to be the page number 
      item.Tag = page 
      _imageViewer.Items.Add(item) 
   Next page 
End Using 
 
' Show the count 
MessageBox.Show("This must say 4: " & _imageViewer.Items.Count) 
 
' Remove the item at index 1 (page 2) 
_imageViewer.Items.RemoveAt(1) 
MessageBox.Show("This must now say 3: " & _imageViewer.Items.Count) 
 
' Loop through each item and show the tag, since we remove page 2, it must say 1, 3, 4 
For Each item As ImageViewerItem In _imageViewer.Items 
   Dim pageNumber As Integer = CInt(item.Tag) 
   MessageBox.Show(pageNumber.ToString()) 
Next item 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Controls Assembly
Click or drag to resize