Skip to main content
All docs
V23.2

GanttControl.CustomPrintTaskDependency Event

Fires before a dependency line between two Gantt bars is printed. Provides access to the drawing surface and allows you to draw the dependency line in a custom way.

Namespace: DevExpress.XtraGantt

Assembly: DevExpress.XtraGantt.v23.2.dll

NuGet Package: DevExpress.Win.Gantt

Declaration

[DXCategory("Events")]
public event CustomPrintTaskDependencyEventHandler CustomPrintTaskDependency

Event Data

The CustomPrintTaskDependency event's data class is CustomPrintTaskDependencyEventArgs. The following properties provide information specific to this event:

Property Description
Appearance Provides access to appearance settings that specify the dependency line background color. Inherited from CustomDrawTaskDependencyEventArgs.
Cache Provides access to the drawing surface and a cache of brushes, pens, fonts, and other graphics. Inherited from CustomDrawEventArgs.
Handled Gets or sets whether the event is handled and allows you to prevent the control from drawing the visual element in its default appearance. Inherited from CustomDrawEventArgs.
Lines Provides access to the collection of RectangleF structures that specify the processed dependency line. Inherited from CustomDrawTaskDependencyEventArgs.
PredecessorNode Gets the predecessor node. Inherited from CustomDrawTaskDependencyEventArgs.
State Gets the object state: normal, hot tracked, pressed, disabled, or selected. Inherited from CustomDrawTaskDependencyEventArgs.
SuccessorNode Gets the successor node. Inherited from CustomDrawTaskDependencyEventArgs.

The event data class exposes the following methods:

Method Description
DefaultDraw() Draws the visual element in its default appearance. Inherited from CustomDrawEventArgs.

Remarks

Before a project is printed or exported, the control raises the following events that allow you to draw visual elements in a custom way:

  • CustomPrintTask—allows you to draw a Gantt bar. This event is equivalent to the CustomDrawTask event, which allows you to customize a Gantt bar when it is displayed onscreen.

  • CustomPrintTaskDependency—allows you to draw a dependency line. This event is equivalent to the CustomDrawTaskDependency event, which allows you to customize a dependency line when it is displayed onscreen.

  • CustomPrintTimescaleColumn—allows you to draw a timescale column (the header, which displays the date, and the chart area). This event is equivalent to the CustomDrawTimescaleColumn event, which allows you to customize a timescale column when it is displayed onscreen.

Example

The code below shows how to highlight specific tasks and dependencies when the project is printed.

Gantt Control Custom Print Task

Run Demo: Highlight Tasks and Dependencies

HashSet<int> tasks = new HashSet<int> { 1, 2, 3, 6, 7, 8, 10, 11, 13 };
ganttControl.CustomPrintTask += (sender, e) => {
    int taskId = Convert.ToInt32(e.Node.GetValue("Id"));
    if(tasks.Contains(taskId)) {
        e.Appearance.BackColor = DXSkinColors.FillColors.Warning;
        e.Appearance.ProgressColor = DXSkinColors.FillColors.Warning;
    }
};
ganttControl.CustomPrintTaskDependency += (sender, e) => {
    int predecessorId = Convert.ToInt32(e.PredecessorNode.GetValue("Id"));
    int successorId = Convert.ToInt32(e.SuccessorNode.GetValue("Id"));
    if(tasks.Contains(predecessorId) && tasks.Contains(successorId)) {
        e.Appearance.BackColor = DXSkinColors.FillColors.Warning;
    }
};
See Also