Applying Custom Renderer to the Clock Control in Windows Forms Clock
3 Sep 2020 / 5 minutes to read
Customization of rendering by overriding the method
Clock control enables you to customize the Clock control by applying the custom renderer.
CustomRenderer renderer = new CustomRenderer();
this.clock1.Renderer = renderer;
public class CustomRenderer : ClockRenderer
{
public override void DrawInterior(Graphics g, float thickness, PointF startPoint, PointF endPoint, Color color, string sender)
{
if (sender == "SecondsHand")
{
g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(color, thickness + thickness);
p.StartCap = LineCap.SquareAnchor;
p.EndCap = LineCap.ArrowAnchor;
g.DrawLine(p, startPoint, endPoint);
p.Dispose();
}
else if (sender == "MinutesHand")
{
g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(color, thickness + thickness);
p.StartCap = LineCap.SquareAnchor;
p.EndCap = LineCap.ArrowAnchor;
g.DrawLine(p, startPoint, endPoint);
p.Dispose();
}
else if (sender == "HoursHand")
{
g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(color, thickness + thickness);
p.StartCap = LineCap.SquareAnchor;
p.EndCap = LineCap.ArrowAnchor;
g.DrawLine(p, startPoint, endPoint);
p.Dispose();
}
else
{
g.SmoothingMode = SmoothingMode.AntiAlias;
Pen p = new Pen(color, 5 );
p.DashStyle = DashStyle.Dot;
g.DrawLine(p, startPoint, endPoint);
p.Dispose();
}
}
}
Private renderer As New CustomRenderer()
Me.clock1.Renderer = renderer
public class CustomRenderer : ClockRenderer
public override void DrawInterior(Graphics g, Single thickness, PointF startPoint, PointF endPoint, Color color, String sender)
If sender = "SecondsHand" Then
g.SmoothingMode = SmoothingMode.AntiAlias
Dim p As New Pen(color, thickness + thickness)
p.StartCap = LineCap.SquareAnchor
p.EndCap = LineCap.ArrowAnchor
g.DrawLine(p, startPoint, endPoint)
p.Dispose()
ElseIf sender = "MinutesHand" Then
g.SmoothingMode = SmoothingMode.AntiAlias
Dim p As New Pen(color, thickness + thickness)
p.StartCap = LineCap.SquareAnchor
p.EndCap = LineCap.ArrowAnchor
g.DrawLine(p, startPoint, endPoint)
p.Dispose()
ElseIf sender = "HoursHand" Then
g.SmoothingMode = SmoothingMode.AntiAlias
Dim p As New Pen(color, thickness + thickness)
p.StartCap = LineCap.SquareAnchor
p.EndCap = LineCap.ArrowAnchor
g.DrawLine(p, startPoint, endPoint)
p.Dispose()
Else
g.SmoothingMode = SmoothingMode.AntiAlias
Dim p As New Pen(color, 5)
p.DashStyle = DashStyle.Dot
g.DrawLine(p, startPoint, endPoint)
p.Dispose()
End If
Was this page helpful?
Yes
No
Thank you for your feedback!
Thank you for your feedback and comments. We will rectify this as soon as possible!
An unknown error has occurred. Please try again.
Help us improve this page