←Select platform

SelectionMode Property

Summary

Gets or sets whether automatic item selection is allowed.

Syntax

C#
VB
C++
public RasterImageListSelectionMode SelectionMode { get; set; } 
Public Property SelectionMode As Leadtools.Winforms.RasterImageListSelectionMode 

Property Value

An RasterImageListSelectionMode enumeration that indicates whether automatic item selection is allowed. Default value is RasterImageListSelectionMode.Single.

Remarks

If automatic item selection is enabled, items are automatically selected and de-selected when the user clicks on them using the mouse or when moving the current selected item using the keyboard.

For more information, refer to the RasterImageListSelectionMode enumeration.

Example

This example shows how to perform manual selection on a RasterImageList control.

C#
VB
using Leadtools.WinForms; 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Drawing; 
 
class MyForm5 : Form 
{ 
   RasterImageList imageList; 
   RasterCodecs codecs; 
 
   public MyForm5(string title) 
   { 
      Text = title; 
 
      // Set the size of the form 
      Size = new Size(400, 200); 
 
      // Create a new RasterImageList control 
      imageList = new RasterImageList(); 
      imageList.Dock = DockStyle.Fill; 
      imageList.SelectionMode = RasterImageListSelectionMode.Single; 
      imageList.Size = Size; 
      Controls.Add(imageList); 
      imageList.BringToFront(); 
 
      codecs = new RasterCodecs(); 
 
      // 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 item to the image list 
         imageList.Items.Add(item); 
      } 
 
 
      // Use manual selection 
      imageList.SelectionMode = RasterImageListSelectionMode.None; 
 
      // Add a handler to the MouseDown event 
      imageList.MouseDown += new MouseEventHandler(rasterImageList_MouseDown); 
 
      // Add the RasterImageList to the control collection. 
      Controls.Add(imageList); 
   } 
 
   private void rasterImageList_MouseDown(object sender, MouseEventArgs e) 
   { 
      RasterImageList imageList = sender as RasterImageList; 
 
      // Check if we are in manual selection mode and if this is a left button click 
      if (imageList.SelectionMode == RasterImageListSelectionMode.None && 
         e.Button == MouseButtons.Left) 
      { 
         // Yes, get the item under the cursor position 
         RasterImageListItem item = imageList.HitTest(e.X, e.Y); 
 
         // If not already selected, select this item 
         if (item != null && !item.Selected) 
         { 
            imageList.BeginUpdate(); 
 
            // First, de-select any items 
            imageList.SelectAll(false); 
 
            // Now select this item 
            item.Selected = true; 
 
            imageList.EndUpdate(); 
 
            item.Invalidate(); 
         } 
      } 
   } 
} 
 
public void RasterImageList_SelectionMode(string title) 
{ 
   MyForm5 form = new MyForm5(title); 
   form.ShowDialog(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.WinForms 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Drawing 
 
Private Class MyForm5 : Inherits Form 
   Private imageList As RasterImageList 
   Private codecs As RasterCodecs 
 
   Public Sub New(ByVal title As String) 
      Text = title 
 
      ' Set the size of the form 
      Size = New Size(400, 200) 
 
      ' Create a new RasterImageList control 
      imageList = New RasterImageList() 
      imageList.Dock = DockStyle.Fill 
      imageList.SelectionMode = RasterImageListSelectionMode.Single 
      imageList.Size = Size 
      Controls.Add(imageList) 
      imageList.BringToFront() 
 
      codecs = New RasterCodecs() 
 
      ' 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 item to the image list 
         imageList.Items.Add(item) 
      Next i 
 
 
      ' Use manual selection 
      imageList.SelectionMode = RasterImageListSelectionMode.None 
 
      ' Add a handler to the MouseDown event 
      AddHandler imageList.MouseDown, AddressOf rasterImageList_MouseDown 
 
      ' Add the RasterImageList to the control collection. 
      Controls.Add(imageList) 
   End Sub 
 
   Private Sub rasterImageList_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) 
      Dim imageList As RasterImageList = CType(IIf(TypeOf sender Is RasterImageList, sender, Nothing), RasterImageList) 
 
      ' Check if we are in manual selection mode and if this is a left button click 
      If imageList.SelectionMode = RasterImageListSelectionMode.None AndAlso e.Button = Windows.Forms.MouseButtons.Left Then 
         ' Yes, get the item under the cursor position 
         Dim item As RasterImageListItem = imageList.HitTest(e.X, e.Y) 
 
         ' If not already selected, select this item 
         If Not item Is Nothing AndAlso (Not item.Selected) Then 
            imageList.BeginUpdate() 
 
            ' First, de-select any items 
            imageList.SelectAll(False) 
 
            ' Now select this item 
            item.Selected = True 
 
            imageList.EndUpdate() 
 
            item.Invalidate() 
         End If 
      End If 
   End Sub 
End Class 
 
Public Sub RasterImageList_SelectionMode(ByVal title As String) 
   Dim form As MyForm5 = New MyForm5(title) 
   form.ShowDialog() 
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