Articles in this section
Category / Section

How do I create a custom symbol?

1 min read

 

The following code sample demonstrates how you can create a custom symbol and use it in Essential Diagram:

1. Create the custom symbol:

[C#]

//Custom Symbol (MySymbol.cs) public class MySymbol : Symbol {  private Syncfusion.Windows.Forms.Diagram.Rectangle outerRect = null;  private Ellipse innerEllipse = null;
 public MySymbol()  {   //////////////////////////////////////////////////////////////////   // Add child nodes to the symbol programmatically   //////////////////////////////////////////////////////////////////
  // Add an outer rectangle   this.outerRect = new Syncfusion.Windows.Forms.Diagram.Rectangle(0, 0, 120, 80);   this.outerRect.Name = "Rectangle";   this.outerRect.FillStyle.Color = Color.Khaki;   this.AppendChild(outerRect);
  // Add an inner ellipse   this.innerEllipse = new Ellipse(10, 10, 100, 60);   this.innerEllipse.Name = "Ellipse";   this.AppendChild(innerEllipse);     //Add Label   Label lbl = this.AddLabel("My Symbol", BoxPosition.Center);   lbl.BackgroundStyle.Color = Color.Transparent;  } }

 

[VB.NET]

'Custom Symbol (MySymbol.vb) Public Class MySymbol         Inherits Symbol         Private outerRect As Syncfusion.Windows.Forms.Diagram.Rectangle = Nothing         Private innerEllipse As Ellipse = Nothing                  Public Sub New()                         ' Add child nodes to the symbol programmatically                         ' Add an outer rectangle             Me.outerRect = New Syncfusion.Windows.Forms.Diagram.Rectangle(0, 0, 120, 80)             Me.outerRect.Name = "Rectangle"             Me.outerRect.FillStyle.Color = Color.Khaki             Me.AppendChild(outerRect)                         ' Add an inner ellipse             Me.innerEllipse = New Ellipse(10, 10, 100, 60)             Me.innerEllipse.Name = "Ellipse"             Me.AppendChild(innerEllipse)                         'Add Label             Dim lbl As Label = Me.AddLabel("My Symbol", BoxPosition.Center)             lbl.BackgroundStyle.Color = Color.Transparent         End Sub 'New End Class 'MySymbol

 

2. Using the symbol in the form:

[C#]

//Register InsertTool for MySymbol this.diagram1.Controller.RegisterTool(new InsertSymbolTool("InsertMySymbol", typeof(MySymbol)));
//Activate InsertTool for MySymbol this.diagram1.ActivateTool("InsertMySymbol");

 

[VB.NET]

'Register InsertTool for MySymbol Me.diagram1.Controller.RegisterTool(New InsertSymbolTool("InsertMySymbol", GetType(MySymbol)))
'Activate InsertTool for MySymbol Me.diagram1.ActivateTool("InsertMySymbol")

 

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