Imports Leadtools.WinForms
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Drawing
Private Class MyForm4 : 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
' 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)
' Check for right button clicks
If e.Button = Windows.Forms.MouseButtons.Right Then
' Check if any item is under the cursor poisition
Dim imageList As RasterImageList = CType(IIf(TypeOf sender Is RasterImageList, sender, Nothing), RasterImageList)
Dim item As RasterImageListItem = imageList.HitTest(e.X, e.Y)
If Not item Is Nothing Then
' Yes, show the item text in a message box
MessageBox.Show(Me, item.Text)
End If
End If
End Sub
End Class
Public Sub RasterImageList_HitTest(ByVal title As String)
Dim form As MyForm4 = New MyForm4(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 MyForm4 : Form
{
RasterImageList imageList;
RasterCodecs codecs;
public MyForm4(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);
}
// 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)
{
// Check for right button clicks
if(e.Button == MouseButtons.Right)
{
// Check if any item is under the cursor poisition
RasterImageList imageList = sender as RasterImageList;
RasterImageListItem item = imageList.HitTest(e.X, e.Y);
if(item != null)
{
// Yes, show the item text in a message box
MessageBox.Show(this, item.Text);
}
}
}
}
public void RasterImageList_HitTest(string title)
{
MyForm4 form = new MyForm4(title);
form.ShowDialog();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}