NtFlankControl

The Flank Controls are located to the left or right of the main chart and represent the legends of each of the rows. They are of type NtFlankControl and contain one or more single row legends of type NtRowHeader. A NtFlankControl can be placed anywhere and can have any size. But in most cases it makes sense to place it either on left or on the right side of the NtTimeChartControl and make it the same height.
A NtTimeChartControl can have more than one NtFlankControls. This makes sense because in one row there might be more than one type of data being displayed so you might want to have more than one legend.  
Below please see an example of a NtTimeChartControl with one NtFlankControl to the left and one NtFlankControl to the right:


In most cases there is no need to change the behaviour of the NtFlankControls. You will rather want to accurately specify the appearance of the different NtRowHeaders that are located inside the NtFlankControl. See the tutorial Row Headers and Flank Controls to find out how to do this.

Class Hierarchy:

System.Windows.Forms.Panel

NtFlankControl

Constructors:

Modifier Name and Parameters Description

public

NtFlankControl ( )

The only constructor. It initializes certain members.

Methods and Properties:

Modifier / Return Value Name and Parameters Description
protected override void DrawLines ( Graphics g, Rectangle clipRect ) This method draws the horizontal lines that separate the NtRowHeaders from each other. Called by OnPaint(). Override this if you want to change the drawing or want to do no drawing of lines at all.
public void Init ( NtTimeChartControl ntTimeChartControl, NtHScrollBar ntHScrollBar, int sheetWidth ) Attaches this NtFlankControl to the NtTimeChartControl ntTimeChartControl. Further more it attaches a horizontal scroll bar to the NtFlankControl and defines the width of the Flank Control's sheet.
public void InvalidateRowHeader ( int row ) Invalidates a certain Row Header. row is the zero based index of the row to invalidate. Call this member whenever you made changes to a Row Header.
protected override void OnPaint ( PaintEventArgs pe ) The paint method inherited from Windows.Forms.Control.
protected override void OnPaintBackground ( PaintEventArgs pe ) The method for painting the background. Inherited from Windows.Forms.Control. This method does nothing because the entire client area of the control is filled by the NtRowHeaders.
public int SheetWidth Read only property. Returns the sheet width of the NtFlankControl.
public bool ShowCategoryTexts Property to enable / disable the display of the category header texts. When set to false not category header texts will be drawn at all on this flank control. This makes sense in the case of more than one Flank Controls on the same Time Chart (e.g. one on the left side and one on the right side), because you typically want to see the category header texts only one (typically on the one to the left side).

Members:

Type Name Description
public int catTextIntentionPerCatLevel Defining categories, sub-categories, sub-sub-categories and so on, this makes up different levels of categories like different levels of a tree. To give users a visual feedback on this category levels, the font, font size, row height and even text intention can vary between the different category levels. This finally makes up a fine optical differentiation between the different category levels. This intention is given in pixels. The default is 8.

Events:

Event Name Event Arguments Description
beginRowDragging NtRowDraggingEventArgs This Event is fired when vertical dragging of a row or a full category is about to occur. You can catch and cancel this event to prevent the dragging. This is useful if you want to allow dragging for certain rows, only or want to completely avoid row and category dragging. When catching the event you will receive a NtRowDraggingEventArgs object that contains all necessary information about which row or rows are being dragged.
continueRowDragging NtRowDraggingEventArgs This Event is fired when vertical dragging of a row or a full category is being continued. You can catch and cancel this event to prevent further vertical movement of the row or category.
endRowDragging NtRowDraggingEventArgs This Event is fired when vertical dragging of a row or a full category is about to be completed. You can catch and cancel this event to prohibit the dragging. In this case the row or category flips back to its original position. This is useful if you decide that the final dragging position is illegal. When catching the event you will receive a NtRowDraggingEventArgs object that contains all necessary information about which row or rows are being dragged (and where).