DesignerCreated Event

Summary
Optional delegate method for additional processing.
Syntax
C#
C++/CLI
public event EventHandler<MedicalViewerDesignerCreatedEventArgs> DesignerCreated 
            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#
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:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools.MedicalViewer Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.