SelectedItemsChanged Event (original) (raw)
Summary
Occurs when any of the items inside this viewer selection state changes.
Syntax
public event EventHandler SelectedItemsChanged
public:
event EventHandler^ SelectedItemsChanged
Example
This example will use the viewer as a multi-selection enabled list of images and shows how to track the current selected items.
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:
using Leadtools;
using Leadtools.Controls;
using Leadtools.Codecs;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
public void SelectedItemsChanged_Example()
{
// Clear all the images already the viewer
_imageViewer.Items.Clear();
// Use vertical view layout
_imageViewer.ViewLayout = new ImageViewerVerticalViewLayout();
// Make sure the item size is larger than the image size (thumbnails mode)
_imageViewer.ItemSize = LeadSize.Create(200, 200);
_imageViewer.ImageBorderThickness = 1;
// Change the selected item background color
_imageViewer.SelectedItemBackgroundColor = Color.LightBlue;
// 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(LEAD_VARS.ImagesDir, string.Format("ocr{0}.tif", page));
// Create a thumbnail from the image
using (var image = codecs.Load(fileName, page))
{
item.Image = image.CreateThumbnail(180, 180, 24, RasterViewPerspective.TopLeft, RasterSizeFlags.Resample);
}
_imageViewer.Items.Add(item);
}
}
// Add the interface mode to select items (multiple)
var selectItemsMode = new ImageViewerSelectItemsInteractiveMode();
selectItemsMode.SelectionMode = ImageViewerSelectionMode.Multi;
_imageViewer.DefaultInteractiveMode = selectItemsMode;
// Hook to the SelectItemsChanged event and update the label
_imageViewer.SelectedItemsChanged += (sender, e) =>
{
var sb = new StringBuilder();
sb.Append("Selected indices:");
// Get the selected items
var items = _imageViewer.Items.GetSelected();
foreach (var item in items)
sb.Append(_imageViewer.Items.IndexOf(item) + " ");
_label.Text = sb.ToString();
};
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}
Event Data
Parameter | Type | Description |
---|---|---|
sender | object | The source of the event. |