←Select platform

InteractiveUserRectangle Event

Summary

Occurs when the user performs user-defined interactive drawing of a rectangle.

Syntax

C#
VB
C++
public event EventHandler<RectangleInteractiveEventArgs> InteractiveUserRectangle
Public Event InteractiveUserRectangle As EventHandler(Of RectangleInteractiveEventArgs)
public: 
event EventHandler<RectangleInteractiveEventArgs^>^ InteractiveUserRectangle 

Event Data

The event handler receives an argument of type RectangleInteractiveEventArgs containing data related to this event. The following RectangleInteractiveEventArgs properties provide information specific to this event.

PropertyDescription
Bounds Gets the bounds location for the current interactive rectangle mode.
Cancel (Inherited from Leadtools.Windows.Controls.InteractiveEventArgs)Gets or sets a value indicating whether the interactive mode should be canceled.
Handled (Inherited from System.Windows.RoutedEventArgs)
OriginalSource (Inherited from System.Windows.RoutedEventArgs)
RoutedEvent (Inherited from System.Windows.RoutedEventArgs)
Source (Inherited from System.Windows.RoutedEventArgs)
Status (Inherited from Leadtools.Windows.Controls.InteractiveEventArgs)Gets the current status of the interactive mode.
Remarks

Occurs when the InteractiveMode property is set to InteractiveMode.UseRectangle.

Use the InteractiveMode.UserRectangle and InteractiveUserRectangle to draw a rectangle on the surface of the control. The ImageViewer object will handle mouse cursor down and up events, mouse movement, canceling (through the ESC key or when the control loses the focus) and clipping.

The InteractiveUserRectangle event will occur every time the user moves the mouse or clicks any of the buttons with the corresponding data in the RectangleInteractiveEventArgs of the event.

You can use the user-defined rectangle interactive mode to perform additional interactive operations on the viewer not handled by any of the pre-defined InteractiveMode.

You can use the BoundsToImageCoordinates and BoundsFromImageCoordinates methods to convert a rectangle between image and control coordinates.

Example

This example will use the user-defined rectangle interactive mode to let the user select a rectangle on the image to invert.

C#
VB
Silverlight C#
Silverlight VB
Imports Leadtools.Windows.Controls 
 
Public Sub BitmapSourceViewer_IsInteractiveModeBusy(ByVal viewer As ImageViewer) 
    AddHandler viewer.InteractiveUserRectangle, AddressOf viewer_InteractiveUserRectangle 
    viewer.InteractiveMode = InteractiveMode.UserRectangle 
 
    MessageBox.Show("Interactive mode set to draw a rectangular geometry." & Constants.vbLf & "If mouse is dragged up or to the left, interactive mode is cancelled") 
End Sub 
 
Private Sub viewer_InteractiveUserRectangle(ByVal sender As Object, ByVal e As RectangleInteractiveEventArgs) 
    Console.WriteLine("" & e.Status) 
    Dim viewer As ImageViewer = TryCast(sender, ImageViewer) 
 
    Dim ee As RectangleInteractiveEventArgs = New RectangleInteractiveEventArgs(e.Status, e.Bounds) 
    If e.Status = InteractiveModeStatus.End Then 
        e.Cancel = True 
        If (Not viewer.IsInteractiveModeBusy) Then 
            MessageBox.Show("Interactive mode (Rectangular geometry) cancelled") 
            viewer.InteractiveMode = InteractiveMode.None 
        End If 
    End If 
 
    Console.WriteLine("" & e.Bounds.Left & ", " & e.Bounds.Top & ", " & e.Bounds.Right & ", " & e.Bounds.Bottom) 
End Sub 
using Leadtools.Help; 
using Leadtools.Windows.Controls; 
 
public void BitmapSourceViewer_IsInteractiveModeBusy(ImageViewer viewer) 
{ 
   viewer.InteractiveUserRectangle += new EventHandler<RectangleInteractiveEventArgs>(viewer_InteractiveUserRectangle); 
   viewer.InteractiveMode = InteractiveMode.UserRectangle; 
 
   MessageBox.Show("Interactive mode set to draw a rectangular geometry.\nIf mouse is dragged up or to the left, interactive mode is cancelled"); 
} 
 
void viewer_InteractiveUserRectangle(object sender, RectangleInteractiveEventArgs e) 
{ 
   Console.WriteLine(@"" + e.Status); 
   ImageViewer viewer = sender as ImageViewer; 
 
   RectangleInteractiveEventArgs ee = new RectangleInteractiveEventArgs(e.Status, e.Bounds); 
   if (e.Status == InteractiveModeStatus.End) 
   { 
      e.Cancel = true; 
      if (!viewer.IsInteractiveModeBusy) 
      { 
         MessageBox.Show("Interactive mode (Rectangular geometry) cancelled"); 
         viewer.InteractiveMode = InteractiveMode.None; 
      } 
   } 
 
   Console.WriteLine(@"" + e.Bounds.Left + ", " + e.Bounds.Top + ", " + e.Bounds.Right + ", " + e.Bounds.Bottom); 
} 
using Leadtools.Help; 
using Leadtools.Windows.Controls; 
 
public void BitmapSourceViewer_IsInteractiveModeBusy(ImageViewer viewer) 
{ 
   viewer.InteractiveUserRectangle += new EventHandler<RectangleInteractiveEventArgs>(viewer_InteractiveUserRectangle); 
   viewer.InteractiveMode = InteractiveMode.UserRectangle; 
 
   MessageBox.Show("Interactive mode set to draw a rectangular geometry.\nIf mouse is dragged up or to the left, interactive mode is cancelled"); 
} 
 
void viewer_InteractiveUserRectangle(object sender, RectangleInteractiveEventArgs e) 
{ 
   Console.WriteLine(@"" + e.Status); 
   ImageViewer viewer = sender as ImageViewer; 
 
   RectangleInteractiveEventArgs ee = new RectangleInteractiveEventArgs(e.Status, e.Bounds); 
   if (e.Status == InteractiveModeStatus.End) 
   { 
      e.Cancel = true; 
      if (!viewer.IsInteractiveModeBusy) 
      { 
         MessageBox.Show("Interactive mode (Rectangular geometry) cancelled"); 
         viewer.InteractiveMode = InteractiveMode.None; 
      } 
   } 
 
   Console.WriteLine(@"" + e.Bounds.Left + ", " + e.Bounds.Top + ", " + e.Bounds.Right + ", " + e.Bounds.Bottom); 
} 
Imports Leadtools 
Imports Leadtools.Windows.Controls 
 
Public Sub BitmapSourceViewer_IsInteractiveModeBusy(ByVal viewer As ImageViewer) 
   AddHandler viewer.InteractiveUserRectangle, AddressOf viewer_InteractiveUserRectangle 
   viewer.InteractiveMode = InteractiveMode.UserRectangle 
 
   MessageBox.Show("Interactive mode set to draw a rectangular geometry." & Constants.vbLf & _ 
                   "If mouse is dragged up or to the left, interactive mode is cancelled") 
End Sub 
 
Private Sub viewer_InteractiveUserRectangle(ByVal sender As Object, ByVal e As RectangleInteractiveEventArgs) 
   Console.WriteLine("" & e.Status) 
   Dim viewer As ImageViewer = TryCast(sender, ImageViewer) 
 
   Dim ee As RectangleInteractiveEventArgs = New RectangleInteractiveEventArgs(e.Status, e.Bounds) 
   If e.Status = InteractiveModeStatus.End Then 
      e.Cancel = True 
      If (Not viewer.IsInteractiveModeBusy) Then 
         MessageBox.Show("Interactive mode (Rectangular geometry) cancelled") 
         viewer.InteractiveMode = InteractiveMode.None 
      End If 
   End If 
 
   Console.WriteLine("" & e.Bounds.Left & ", " & e.Bounds.Top & ", " & e.Bounds.Right & ", " & e.Bounds.Bottom) 
End Sub 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.Windows.Controls Assembly
Click or drag to resize