DesignerCreated Event

Summary

Optional delegate method for additional processing.

Syntax
C#
VB
C++
public event EventHandler<MedicalViewerDesignerCreatedEventArgs> DesignerCreated 
  
Public Event DesignerCreated As EventHandler(Of MedicalViewerDesignerCreatedEventArgs) 
            public: 
event EventHandler<MedicalViewerDesignerCreatedEventArgs^>^ DesignerCreated 

Event Data

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

PropertyDescription
Container Gets the annotation container that contains the annotation object that is being created, clicked under the run time mode or edited.
Designer Gets the newly created designer.
Object Gets the object that is being created, clicked under the run time mode, or edited.
SubCellIndex Gets the sub-cell index of the cell that contains the container of the object that is being created, clicked under the run time mode, or edited.
Type Gets the type of the newly created designer.

Remarks

This delegate occurs when the user:

  • starts creating a new annotation object using the Medical Viewer actions. For more information, refer to AddAction.
  • starts editing an already created annotation object, by either moving, resizing or rotating it.
  • clicks an already created annotation object in the Run mode. To enter the run mode, refer to MedicalViewerSubCell.UserMode.

Example
C#
VB
using Leadtools; 
using Leadtools.Dicom; 
using Leadtools.Medical3D; 
using Leadtools.Codecs; 
using Leadtools.MedicalViewer; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Annotations.Engine; 
using Leadtools.Annotations.Designers; 
 
// This example makes the color of each newly created object blue. 
class MedicalViewerDesignerCreatedForm : Form 
{ 
   private MedicalViewer _medicalViewer; 
   private RasterImage _image; 
 
 
   void MedicalViewerLocalizer_SizeChanged(object sender, EventArgs e) 
   { 
      _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); 
   } 
 
   public MedicalViewerDesignerCreatedForm() 
   { 
      DicomEngine.Startup(); 
      RasterCodecs _codecs = new RasterCodecs(); 
 
      this.SizeChanged += new EventHandler(MedicalViewerLocalizer_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); 
      cell.DesignerCreated += new EventHandler<MedicalViewerDesignerCreatedEventArgs>(cell_DesignerCreated); 
 
      cell.AddAction(MedicalViewerActionType.AnnotationRectangle); 
      cell.AddAction(MedicalViewerActionType.Alpha); 
      cell.AddAction(MedicalViewerActionType.Offset); 
 
      // 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.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active); 
      cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active); 
 
      Controls.Add(_medicalViewer); 
      _medicalViewer.Dock = DockStyle.Fill; 
      DicomEngine.Shutdown(); 
   } 
 
   void cell_DesignerCreated(object sender, MedicalViewerDesignerCreatedEventArgs e) 
   { 
      if (e.Type == MedicalViewerDesignerType.DrawDesigner) 
      { 
         AnnDrawDesigner designer = (AnnDrawDesigner)e.Designer; 
         designer.Draw += new EventHandler<AnnDrawDesignerEventArgs>(designer_Draw); 
      } 
   } 
 
   void designer_Draw(object sender, AnnDrawDesignerEventArgs e) 
   { 
      if (e.OperationStatus == AnnDesignerOperationStatus.Start) 
      { 
         e.Object.Fill = AnnSolidColorBrush.Create(Color.Blue.Name); 
      } 
   } 
 
   void MedicalViewerLocalizer_FormClosing(object sender, FormClosingEventArgs e) 
   { 
   } 
 
   public MedicalViewer Viewer 
   { 
      get { return _medicalViewer; } 
   } 
} 
 
MedicalViewerDesignerCreatedForm GetMedicalViewerDesignerCreatedForm() 
{ 
   MedicalViewerSeriesManagerFrom form = new MedicalViewerSeriesManagerFrom(); 
   return new MedicalViewerDesignerCreatedForm(); 
} 
 
// This example changes the default window level value by decrease the width by 100. Then resets the images based on the new value. 
public void MedicalViewerDesignerCreatedExample() 
{ 
   MedicalViewerDesignerCreatedForm myForm = GetMedicalViewerDesignerCreatedForm(); 
   MedicalViewer medicalViewer = myForm.Viewer; 
 
   myForm.ShowDialog(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Dicom 
Imports Leadtools.Medical3D 
Imports Leadtools.Codecs 
Imports Leadtools.MedicalViewer 
Imports Leadtools.Annotations.Engine 
Imports Leadtools.Annotations.Designers 
Imports Leadtools.ImageProcessing.Core 
 
' This example makes the color of each newly created object blue. 
Private Class MedicalViewerDesignerCreatedForm : Inherits Form 
   Private _medicalViewer As MedicalViewer 
   Private _image As RasterImage 
 
 
   Private Sub MedicalViewer_SizeChanged(ByVal sender As Object, ByVal e As EventArgs) 
      _medicalViewer.Size = New Size(Me.ClientRectangle.Right, Me.ClientRectangle.Bottom) 
   End Sub 
 
   Public Sub New() 
      DicomEngine.Startup() 
      Dim _codecs As RasterCodecs = New RasterCodecs() 
 
      AddHandler SizeChanged, AddressOf MedicalViewer_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) 
      AddHandler cell.DesignerCreated, AddressOf cell_DesignerCreated 
 
      cell.AddAction(MedicalViewerActionType.AnnotationRectangle) 
      cell.AddAction(MedicalViewerActionType.Alpha) 
      cell.AddAction(MedicalViewerActionType.Offset) 
 
      ' 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.Alpha, MedicalViewerMouseButtons.Middle, MedicalViewerActionFlags.Active) 
      cell.SetAction(MedicalViewerActionType.Offset, MedicalViewerMouseButtons.Right, MedicalViewerActionFlags.Active) 
 
      Controls.Add(_medicalViewer) 
      _medicalViewer.Dock = DockStyle.Fill 
      DicomEngine.Shutdown() 
   End Sub 
 
   Private Sub cell_DesignerCreated(ByVal sender As Object, ByVal e As MedicalViewerDesignerCreatedEventArgs) 
      If e.Type = MedicalViewerDesignerType.DrawDesigner Then 
         Dim designer As AnnDrawDesigner = CType(e.Designer, AnnDrawDesigner) 
         AddHandler designer.Draw, AddressOf designer_Draw 
      End If 
   End Sub 
 
   Private Sub designer_Draw(ByVal sender As Object, ByVal e As AnnDrawDesignerEventArgs) 
      If e.OperationStatus = AnnDesignerOperationStatus.Start Then 
         e.Object.Fill = AnnSolidColorBrush.Create(Color.Blue.Name) 
      End If 
   End Sub 
 
   Private Sub MedicalViewerLocalizer_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) 
   End Sub 
 
   Public ReadOnly Property Viewer() As MedicalViewer 
      Get 
         Return _medicalViewer 
      End Get 
   End Property 
End Class 
 
Private Function GetMedicalViewerDesignerCreatedForm() As MedicalViewerDesignerCreatedForm 
   Dim form As MedicalViewerSeriesManagerFrom = New MedicalViewerSeriesManagerFrom() 
   Return New MedicalViewerDesignerCreatedForm() 
End Function 
 
' This example changes the default window level value by decrease the width by 100. Then resets the images based on the new value. 
<TestMethod()> _ 
Public Sub MedicalViewerDesignerCreatedExample() 
   Dim myForm As MedicalViewerDesignerCreatedForm = GetMedicalViewerDesignerCreatedForm() 
   Dim medicalViewer As MedicalViewer = myForm.Viewer 
 
   myForm.ShowDialog() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

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

Leadtools.MedicalViewer Assembly