windowsforms-devexpress-dot-xtrascheduler-dot-schedulercontrol-fb96f68a.md
Enables dependencies to be painted manually.
Namespace : DevExpress.XtraScheduler
Assembly : DevExpress.XtraScheduler.v25.2.dll
NuGet Package : DevExpress.Win.Scheduler
public event CustomDrawObjectEventHandler CustomDrawDependency
Public Event CustomDrawDependency As CustomDrawObjectEventHandler
The CustomDrawDependency event's data class is CustomDrawObjectEventArgs. The following properties provide information specific to this event:
| Property | Description |
|---|---|
| Bounds | Returns the bounding rectangle of the drawing area. |
| Cache | Gets an object which specifies the storage for the pens, fonts and brushes. Use it for custom painting in Scheduler Reports. |
| Graphics | Gets an object used for painting. |
| Handled | Gets or sets whether an event was handled. If it was handled, the default actions are not required. |
| ObjectInfo | Gets information on the painted element. |
The event data class exposes the following methods:
| Method | Description |
|---|---|
| DrawDefault() | Renders the element using the default drawing mechanism. |
| DrawHtml(HtmlTemplate, DxHtmlPainterContext, Action<DxHtmlPainterArgs>) | Paints the required HTML template inside an element that raised this event. The context parameter allows you to assign an object that transfers mouse events to template elements. |
| DrawHtml(HtmlTemplate, Action<DxHtmlPainterArgs>) | Paints the required HTML template inside an element that raised this event. |
| GetDisplayValue(String) | |
| GetValue(String) |
The CustomDrawDependency event is raised before a Dependency is painted. The event parameter’s CustomDrawObjectEventArgs.ObjectInfo property provides all the information necessary to paint a dependency. The return value of this property should be typecast to the DependencyViewInfo type.
Set the CustomDrawObjectEventArgs.Handled property to true to prohibit default appointment painting.
The following code snippet draws a red dashed line to indicate appointment dependencies other than AppointmentDependencyType.FinishToStart type in the Gantt View. Default dependency painting is cancelled by setting the CustomDrawObjectEventArgs.Handled to true.
private void schedulerControl1_CustomDrawDependency(object sender, CustomDrawObjectEventArgs e)
{
DependencyViewInfo dvi = (DependencyViewInfo)e.ObjectInfo;
if (dvi.Dependencies[0].Type != AppointmentDependencyType.FinishToStart) {
Pen myPen = e.Cache.GetPen(Color.Red);
myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
dvi.Graphics.DrawLine(myPen, dvi.Start, dvi.End);
e.Handled = true;
}
}
Private Sub schedulerControl1_CustomDrawDependency(ByVal sender As Object, ByVal e As CustomDrawObjectEventArgs)
Dim dvi As DependencyViewInfo = CType(e.ObjectInfo, DependencyViewInfo)
If dvi.Dependencies(0).Type <> AppointmentDependencyType.FinishToStart Then
Dim myPen As Pen = e.Cache.GetPen(Color.Red)
myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash
dvi.Graphics.DrawLine(myPen, dvi.Start, dvi.End)
e.Handled = True
End If
End Sub
See Also