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

SelectionMode Property (RasterImageList)

Example 





Gets or sets whether automatic item selection is allowed.
Syntax
[DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")]
[CategoryAttribute("Behavior")]
public RasterImageListSelectionMode SelectionMode {get; set;}
'Declaration
 
<DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")>
<CategoryAttribute("Behavior")>
Public Property SelectionMode As RasterImageListSelectionMode
'Usage
 
Dim instance As RasterImageList
Dim value As RasterImageListSelectionMode
 
instance.SelectionMode = value
 
value = instance.SelectionMode
[DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")]
[CategoryAttribute("Behavior")]
public RasterImageListSelectionMode SelectionMode {get; set;}
DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")
CategoryAttribute("Behavior")
 get_SelectionMode();
set_SelectionMode(value);
[DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")]
[CategoryAttribute("Behavior")]
public:
property RasterImageListSelectionMode SelectionMode {
   RasterImageListSelectionMode get();
   void set (    RasterImageListSelectionMode value);
}

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
 
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
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";
}
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

RasterImageList Class
RasterImageList Members

 

 


Products | Support | Contact Us | Copyright Notices

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