Gets or sets whether automatic item selection is allowed.
Syntax
Example
This example shows how to perform manual selection on a RasterImageList control.
Visual Basic | Copy Code |
---|
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 |
C# | Copy Code |
---|
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";
} |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
See Also