Category / Section
How do I determine when a new symbol or shape has been added to or removed from the Diagram?
1 min read
How do I determine when a new symbol or shape has been added to or removed from the Diagram?
The Diagram.Model.ChildrenChangeComplete event can be used to determine when a new node( symbol,shape or link) has been added or removed from the diagram. The event's Diagram.NodeCollection.EventArgs event argument provides information about the node and the ensuing operation such as addition or removal.
The following code sample updates the label with information on the type of node that is added to or deleted from the Diagram:
[C#]
//Listen to the Diagram Model's ChildrenChangeComplete Event. this.diagram1.Model.ChildrenChangeComplete+=new Syncfusion.Windows.Forms.Diagram.NodeCollection.EventHandler(Model_ChildrenChangeComplete); //ChildrenChangeComplete Event //Update Label2 depending on whether a Shape is added or deleted from the Diagram private void Model_ChildrenChangeComplete(object sender, Syncfusion.Windows.Forms.Diagram.NodeCollection.EventArgs evtArgs) { if (evtArgs.ChangeType.ToString() == "Insert") { this.label2.ForeColor = Color.Blue; this.label2.Text = "Last Node Added: " + evtArgs.Node.Name.ToString(); } else if (evtArgs.ChangeType.ToString() == "Remove") { this.label2.ForeColor = Color.Red; this.label2.Text = "Last Node Removed: " + evtArgs.Node.Name.ToString(); } }
[VB.NET]
'Listen to the Diagram Model's ChildrenChangeComplete Event. Me.diagram1.Model.ChildrenChangeComplete+=New Syncfusion.Windows.Forms.Diagram.NodeCollection.EventHandler(Model_ChildrenChangeComplete) 'ChildrenChangeComplete Event 'Update Label2 depending on whether a Shape is added or deleted from the Diagram Private Sub Model_ChildrenChangeComplete(ByVal sender As Object, ByVal evtArgs As Syncfusion.Windows.Forms.Diagram.NodeCollection.EventArgs) If evtArgs.ChangeType.ToString() = "Insert" Then Me.label2.ForeColor = Color.Blue Me.label2.Text = "Last Node Added: " + evtArgs.Node.Name.ToString() Else If evtArgs.ChangeType.ToString() = "Remove" Then Me.label2.ForeColor = Color.Red Me.label2.Text = "Last Node Removed: " + evtArgs.Node.Name.ToString() End If End Sub