要添加一个命令老调用AddSubCmd方法,调用执行方法来执行包含在复合中的所有的子命令,子命令会被按照原来的被添加到容器中的顺序执行或是重做,并会被以相反的顺序被撤销。
通常FlowChart.NET会隐式的产生命令对象以便于用户响应或是方法调用,并且在历史队列中自动的记录。你不能直接的访问这些命令,以及通过AddSubCmd添加它们到一个复合中。
// Implicitly created undo records will be saved here
CompositeCmd composite = diagram.UndoManager.StartComposite("Create group");
// Call methods that create undo records
ShapeNode node1 = diagram.Factory.CreateShapeNode(0, 0, 30, 30);
ShapeNode node2 = diagram.Factory.CreateShapeNode (0, 0, 15, 15);
Group g = diagram.Factory.CreateGroup(node1);
g.AttachToCorner(node2, 0);
// This goes to the active composite too
ChangeItemCmd change = new ChangeItemCmd(node2, "");
node2.Locked = true;
change.Execute();
// Save the active composite in history
composite.Execute();