Leadtools.WinForms Namespace > RasterImageList Class : SelectionMode Property |
[CategoryAttribute("Behavior")] [DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")] public RasterImageListSelectionMode SelectionMode {get; set;}
'Declaration <CategoryAttribute("Behavior")> <DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")> Public Property SelectionMode As RasterImageListSelectionMode
'Usage Dim instance As RasterImageList Dim value As RasterImageListSelectionMode instance.SelectionMode = value value = instance.SelectionMode
[CategoryAttribute("Behavior")] [DescriptionAttribute("Indicates if the control is to be single-select, multi-select or unselectable.")] public: property RasterImageListSelectionMode SelectionMode { RasterImageListSelectionMode get(); void set ( RasterImageListSelectionMode value); }
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.
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
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"; }