How To Retain the Custom Position Of the Label While Resizing the Node

16 Dec 20242 minutes to read

We can retain the label’s offset value using the SizeChanged event. While resizing a node, the SizeEvent gets fired. Using this event we can retain the label’s position.

// Adding Event Handler 

((DocumentEventSink)diagram1.Model.EventSink).SizeChanged += new SizeChangedEventHandler(Form1_SizeChanged); 

outerRect.Labels.Add(new Syncfusion.Windows.Forms.Diagram.Label()); 

outerRect.Labels[0].Text = "Rectangle"; 

outerRect.Labels[0].Position = Position.Custom; 

outerRect.Labels[0].OffsetX = outerRect.Size.Width / 2; 

outerRect.Labels[0].OffsetY = outerRect.Size.Height;  

// Resizing  

void Form1_SizeChanged(SizeChangedEventArgs evtArgs) 

{ 

outerRect.Labels[0].OffsetX = outerRect.Size.Width / 2; 

outerRect.Labels[0].OffsetY = outerRect.Size.Height;  

}
' Adding Event Handler 

AddHandler (CType(diagram1.Model.EventSink, DocumentEventSink)).SizeChanged, AddressOf Form1_SizeChanged 

outerRect.Labels.Add(New Syncfusion.Windows.Forms.Diagram.Label()) 

outerRect.Labels(0).Text = "Rectangle" 

outerRect.Labels(0).Position = Position.Custom 

outerRect.Labels(0).OffsetX = outerRect.Size.Width / 2 

outerRect.Labels(0).OffsetY = outerRect.Size.Height 

' Resizing  

Private Sub Form1_SizeChanged(ByVal evtArgs As Syncfusion.Windows.Forms.Diagram.SizeChangedEventArgs)

outerRect.Labels(0).OffsetX = outerRect.Size.Width / 2

outerRect.Labels(0).OffsetY = outerRect.Size.Height

End Sub