MedicalViewerAnnotationClickedEventArgs Class

Summary
The MedicalViewerAnnotationClickedEventArgs class provides data for the MedicalViewerBaseCell.AnnotationClicked event.
Syntax
C#
VB
C++
public class MedicalViewerAnnotationClickedEventArgs : EventArgs 
  
Public Class MedicalViewerAnnotationClickedEventArgs  
   Inherits System.EventArgs 
            public ref class MedicalViewerAnnotationClickedEventArgs : public System.EventArgs  
Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.MedicalViewer; 
 
class MedicalViewerForm : Form 
{ 
   private MedicalViewer _medicalViewer; 
 
   void MedicalViewerForm_SizeChanged(object sender, EventArgs e) 
   { 
      _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); 
   } 
 
   public MedicalViewerForm() 
   { 
      RasterCodecs _codecs = new RasterCodecs(); 
      RasterImage _image; 
 
      this.SizeChanged += new EventHandler(MedicalViewerForm_SizeChanged); 
      // Create the medical viewer and adjust the size and the location. 
      _medicalViewer = new MedicalViewer(1, 2); 
      _medicalViewer.Location = new Point(0, 0); 
      _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); 
 
      // Load an image and then add it to the control. 
      _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm")); 
      MedicalViewerMultiCell cell = new MedicalViewerMultiCell(_image, true, 1, 1); 
 
      _medicalViewer.Cells.Add(cell); 
 
      // add some actions that will be used to change the properties of the images inside the control. 
      cell.AddAction(MedicalViewerActionType.AnnotationRectangle); 
      cell.AddAction(MedicalViewerActionType.AnnotationEllipse); 
      cell.AddAction(MedicalViewerActionType.AnnotationHilite); 
 
      // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated. 
      cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active); 
      cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active); 
      cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active); 
 
      // adjust some properties of the cell and add some tags. 
      _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448"); 
      _medicalViewer.Cells[0].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame); 
      _medicalViewer.Cells[0].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale); 
      _medicalViewer.Cells[0].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData); 
      _medicalViewer.Cells[0].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView); 
 
 
      // Load another image and then add it to the control. 
      _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm")); 
      _medicalViewer.Cells.Add(new MedicalViewerMultiCell(_image, true, 2, 2)); 
 
      // add some actions that will be used to change the properties of the images inside the control. 
      _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationRectangle); 
      _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationEllipse); 
      _medicalViewer.Cells[1].AddAction(MedicalViewerActionType.AnnotationHilite); 
 
      // assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated. 
      _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active); 
      _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active); 
      _medicalViewer.Cells[1].SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active); 
 
      // adjust some properties of the cell and add some tags. 
      _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448"); 
      _medicalViewer.Cells[1].SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame); 
      _medicalViewer.Cells[1].SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale); 
      _medicalViewer.Cells[1].SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData); 
      _medicalViewer.Cells[1].SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView); 
 
 
      Controls.Add(_medicalViewer); 
      _medicalViewer.Dock = DockStyle.Fill; 
   } 
   public MedicalViewer Viewer 
   { 
      get { return _medicalViewer; } 
   } 
} 
 
MedicalViewerForm GetMedicalControl() 
{ 
   return new MedicalViewerForm(); 
} 
 
//This example will convert the rectangle, ellipse or hilite annotation into region once the user clicks on them. 
public void MedicalViewerAnnotationClickedExample() 
{ 
   MedicalViewerForm myForm = GetMedicalControl(); 
   MedicalViewer medicalViewer = myForm.Viewer; 
 
   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]); 
   cell.AnnotationClicked += new EventHandler<MedicalViewerAnnotationClickedEventArgs>(medicalViewer_AnnotationClicked); 
   myForm.ShowDialog(); 
} 
 
void medicalViewer_AnnotationClicked(object sender, MedicalViewerAnnotationClickedEventArgs e) 
{ 
   MedicalViewerMultiCell cell = (MedicalViewerMultiCell)sender; 
   MedicalViewerAnnotationAttributes attribute = cell.GetSelectedAnnotationAttributes(e.SubCellIndex); 
   switch (attribute.Type) 
   { 
      case MedicalViewerActionType.AnnotationRectangle: 
      case MedicalViewerActionType.AnnotationEllipse: 
      case MedicalViewerActionType.AnnotationHilite: 
         cell.ConvertAnnotationToRegion(RasterRegionCombineMode.Or, true); 
         break; 
 
 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.MedicalViewer 
 
Private Class MedicalViewerForm : Inherits Form 
   Private _medicalViewer As MedicalViewer 
 
   Private Sub MedicalViewerForm_SizeChanged(ByVal sender As Object, ByVal e As EventArgs) 
      _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom) 
   End Sub 
 
   Public Sub New() 
      Dim _codecs As RasterCodecs = New RasterCodecs() 
      Dim _image As RasterImage 
 
      AddHandler SizeChanged, AddressOf MedicalViewerForm_SizeChanged 
      ' Create the medical viewer and adjust the size and the location. 
      _medicalViewer = New MedicalViewer(1, 2) 
      _medicalViewer.Location = New Point(0, 0) 
      _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom) 
 
      ' Load an image and then add it to the control. 
      _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "xa.dcm")) 
      Dim cell As MedicalViewerMultiCell = New MedicalViewerMultiCell(_image, True, 1, 1) 
 
      _medicalViewer.Cells.Add(cell) 
 
      ' add some actions that will be used to change the properties of the images inside the control. 
      cell.AddAction(MedicalViewerActionType.AnnotationRectangle) 
      cell.AddAction(MedicalViewerActionType.AnnotationEllipse) 
      cell.AddAction(MedicalViewerActionType.AnnotationHilite) 
 
      ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated. 
      cell.SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active) 
      cell.SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active) 
      cell.SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active) 
 
      ' adjust some properties of the cell and add some tags. 
      _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448") 
      _medicalViewer.Cells(0).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame) 
      _medicalViewer.Cells(0).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale) 
      _medicalViewer.Cells(0).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData) 
      _medicalViewer.Cells(0).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView) 
 
 
      ' Load another image and then add it to the control. 
      _image = _codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "mr.dcm")) 
      _medicalViewer.Cells.Add(New MedicalViewerMultiCell(_image, True, 2, 2)) 
 
      ' add some actions that will be used to change the properties of the images inside the control. 
      _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationRectangle) 
      _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationEllipse) 
      _medicalViewer.Cells(1).AddAction(MedicalViewerActionType.AnnotationHilite) 
 
      ' assign the added actions to a mouse button, meaning that when the user clicks and drags the mouse button, the associated action will be activated. 
      _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationRectangle, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active) 
      _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationEllipse, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active) 
      _medicalViewer.Cells(1).SetAction(MedicalViewerActionType.AnnotationHilite, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active) 
 
      ' adjust some properties of the cell and add some tags. 
      _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.UserData, "EX. ID 230-36-5448") 
      _medicalViewer.Cells(1).SetTag(4, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Frame) 
      _medicalViewer.Cells(1).SetTag(6, MedicalViewerTagAlignment.TopLeft, MedicalViewerTagType.Scale) 
      _medicalViewer.Cells(1).SetTag(2, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.WindowLevelData) 
      _medicalViewer.Cells(1).SetTag(1, MedicalViewerTagAlignment.BottomLeft, MedicalViewerTagType.FieldOfView) 
 
 
      Controls.Add(_medicalViewer) 
      _medicalViewer.Dock = DockStyle.Fill 
   End Sub 
   Public ReadOnly Property Viewer() As MedicalViewer 
      Get 
         Return _medicalViewer 
      End Get 
   End Property 
End Class 
 
Private Function GetMedicalControl() As MedicalViewerForm 
   Return New MedicalViewerForm() 
End Function 
 
'This example will convert the rectangle, ellipse or hilite annotation into region once the user clicks on them. 
Public Sub MedicalViewerAnnotationClickedExample() 
   Dim myForm As MedicalViewerForm = GetMedicalControl() 
   Dim medicalViewer As MedicalViewer = myForm.Viewer 
 
   Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell) 
   AddHandler cell.AnnotationClicked, AddressOf medicalViewer_AnnotationClicked 
   myForm.ShowDialog() 
End Sub 
 
Private Sub medicalViewer_AnnotationClicked(ByVal sender As Object, ByVal e As MedicalViewerAnnotationClickedEventArgs) 
   Dim cell As MedicalViewerMultiCell = CType(sender, MedicalViewerMultiCell) 
   Dim attribute As MedicalViewerAnnotationAttributes = cell.GetSelectedAnnotationAttributes(e.SubCellIndex) 
   Select Case attribute.Type 
      Case MedicalViewerActionType.AnnotationRectangle, MedicalViewerActionType.AnnotationEllipse, MedicalViewerActionType.AnnotationHilite 
         cell.ConvertAnnotationToRegion(RasterRegionCombineMode.Or, True) 
 
 
   End Select 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images" 
End Class 
Requirements

Target Platforms

Help Version 21.0.2021.6.30
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.MedicalViewer Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.