The ChangingWindowLevel Event is available as an add-on to the LEADTOOLS Medical Imaging toolkits.
Optional delegate method for additional processing.Visual Basic (Declaration) | |
---|---|
Public Event ChangingWindowLevel As EventHandler(Of MedicalViewerChangingWindowLevelEventArgs) |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As MedicalViewerBaseCell Dim handler As EventHandler(Of MedicalViewerChangingWindowLevelEventArgs) AddHandler instance.ChangingWindowLevel, handler |
C# | |
---|---|
public event EventHandler<MedicalViewerChangingWindowLevelEventArgs> ChangingWindowLevel |
C++/CLI | |
---|---|
public: event EventHandler<MedicalViewerChangingWindowLevelEventArgs^>^ ChangingWindowLevel |
The event handler receives an argument of type MedicalViewerChangingWindowLevelEventArgs containing data related to this event. The following MedicalViewerChangingWindowLevelEventArgs properties provide information specific to this event.
Property | Description |
---|---|
Center | (Read only) Gets the value that indicates the new window center. |
OldCenter | (Read only) Gets the value that indicates the previous window center. |
OldWidth | (Read only) Gets the value that indicates the previous window width. |
SubCellIndex | (Read only) Gets the value that indicates the index of sub-cell that contains the image which to be affected by the window level action. |
Width | (Read only) Gets the value that indicates the new window width. |
Visual Basic | Copy Code |
---|---|
Private Class MedicalViewerForm Inherits Form Private _medicalViewer As MedicalViewer Public Sub New() Dim _codecs As 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 New MedicalViewerMultiCell(_image, True, 1, 1) ' add window level action that will be used to change the properties of the images inside the control. cell.AddAction(MedicalViewerActionType.WindowLevel) ' assign the added actions to a mouse button, meaning that when the user click and drag the mouse button, the associated action will be activated. cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active Or MedicalViewerActionFlags.RealTime) _medicalViewer.Cells.Add(cell) ' adjust some properties to 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) Controls.Add(_medicalViewer) _medicalViewer.Dock = DockStyle.Fill End Sub 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 ReadOnly Property Viewer() As MedicalViewer Get Return _medicalViewer End Get End Property End Class Private Function GetMedicalControl() As MedicalViewerForm Return New MedicalViewerForm() End Function ' When the user uses the window level tool, this example displays the previous and new window level values. Public Sub MedicalViewerAnnotationCreatedExample() Dim myForm As MedicalViewerForm = GetMedicalControl() Dim medicalViewer As MedicalViewer = myForm.Viewer Dim cell As MedicalViewerMultiCell = CType(medicalViewer.Cells(0), MedicalViewerMultiCell) AddHandler cell.ChangingWindowLevel, AddressOf medicalViewer_ChangingWindowLevel myForm.ShowDialog() End Sub Private Sub medicalViewer_ChangingWindowLevel(ByVal sender As Object, ByVal e As Leadtools.MedicalViewer.MedicalViewerChangingWindowLevelEventArgs) Dim msg As String = String.Format(Constants.vbLf & "Sub Cell Index: {0}" & "Previous Window Center: {1}" & Constants.vbLf & "Previous Window Width: {2}" & Constants.vbLf & "New Window Center: {3}" & Constants.vbLf & "New Window Width{4}", e.SubCellIndex, e.OldCenter, e.OldWidth, e.Center, e.Width) Console.WriteLine(msg) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
class MedicalViewerForm : Form { private MedicalViewer _medicalViewer; 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); // add window level action that will be used to change the properties of the images inside the control. cell.AddAction(MedicalViewerActionType.WindowLevel); // assign the added actions to a mouse button, meaning that when the user click and drag the mouse button, the associated action will be activated. cell.SetAction(MedicalViewerActionType.WindowLevel, MedicalViewerMouseButtons.Left, MedicalViewerActionFlags.Active | MedicalViewerActionFlags.RealTime); _medicalViewer.Cells.Add(cell); // adjust some properties to 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); Controls.Add(_medicalViewer); _medicalViewer.Dock = DockStyle.Fill; } void MedicalViewerForm_SizeChanged(object sender, EventArgs e) { _medicalViewer.Size = new Size(this.ClientRectangle.Right, this.ClientRectangle.Bottom); } public MedicalViewer Viewer { get { return _medicalViewer; } } } MedicalViewerForm GetMedicalControl() { return new MedicalViewerForm(); } // When the user uses the window level tool, this example displays the previous and new window level values. public void MedicalViewerAnnotationCreatedExample() { MedicalViewerForm myForm = GetMedicalControl(); MedicalViewer medicalViewer = myForm.Viewer; MedicalViewerMultiCell cell = (MedicalViewerMultiCell)(medicalViewer.Cells[0]); cell.ChangingWindowLevel += new EventHandler<Leadtools.MedicalViewer.MedicalViewerChangingWindowLevelEventArgs>(medicalViewer_ChangingWindowLevel); myForm.ShowDialog(); } void medicalViewer_ChangingWindowLevel(object sender, Leadtools.MedicalViewer.MedicalViewerChangingWindowLevelEventArgs e) { string msg = string.Format("\nSub Cell Index: {0}\nPrevious Window Center: {1}\nPrevious Window Width: {2}\nNew Window Center: {3}\nNew Window Width{4}", e.SubCellIndex, e.OldCenter, e.OldWidth, e.Center, e.Width); Console.WriteLine(msg); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7