Articles in this section

Draw text, on top of Grid like a watermark in WinForms GridControl

Watermark

You can achieve this by deriving the Grid and overriding the OnPaint method. During override, call the base class, and then use e.Graphics.DrawString to draw the string.

public class MyGridControl : GridControl
{
  public MyGridControl()
  {
    this.SmoothControlResize = false;
  }
  private bool isApproved = true;
  protected override void OnPaint(System.Windows.Forms.PaintEventArgs pe)
  {
    base.OnPaint(pe);
    if(isApproved)
    {
       string s = "Approved";
       Brush br = Brushes.LightPink;
       StringFormat format = new StringFormat();
       format.LineAlignment = StringAlignment.Center;
       format.Alignment = StringAlignment.Center;
       format.Trimming = StringTrimming.None;
       format.FormatFlags = StringFormatFlags.NoWrap;
       int orientation = -45;
       float angle = (float) orientation;
       Font fnt = new Font("Arial", 20, FontStyle.Bold | FontStyle.Underline);
       RotatePaint.DrawRotatedString(pe.Graphics, s, fnt, br, this.Bounds, format, angle);
    }
}
Public Class MyGridControl Inherits GridControl
   Public Sub New()
     Me.SmoothControlResize = False
   End Sub
   Private isApproved As Boolean = True
   Protected Overrides Sub OnPaint(ByVal pe As System.Windows.Forms.PaintEventArgs)
   MyBase.OnPaint(pe)
   If isApproved Then
     Dim s As String = "Approved"
     Dim br As Brush = Brushes.LightPink
     Dim format As New StringFormat()
     format.LineAlignment = StringAlignment.Center
     format.Alignment = StringAlignment.Center
     format.Trimming = StringTrimming.None
     format.FormatFlags = StringFormatFlags.NoWrap
     Dim orientation As Integer = -45
     Dim angle As Single = CSng(orientation)
     Dim fnt As New Font("Arial", 20, FontStyle.Bold Or FontStyle.Underline)
RotatePaint.DrawRotatedString(pe.Graphics, s, fnt, br, Me.Bounds, format, angle)
   End If
End Sub

After applying the properties, the Grid is displayed as follows.

Drawing text on Grid like a watermark


Figure
1: Drawing text on grid like a watermark

Samples:

C#: WaterMark_Text

VB: WaterMark_Text

 

Conclusion

I hope you enjoyed learning about how draw text, on top of the Grid like a watermark in WinForms GridControl.

You can refer to our WinForms GridControl feature tour page to know about its other groundbreaking feature representations and WinForms GridControl documentation, and how to quickly get started for configuration specifications.


For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.


If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied