internal void Relocate(EnumShape shape)
            {
                Diagram diagram = shape.Diagram;
                if (diagram != null)
                {
                    Rectangle record = shape.GetMemberRectangle(shape.ActiveMemberIndex);

                    Point absolute = new Point(shape.Right, record.Top);
                    Size relative = new Size(
                        (int)(absolute.X * diagram.Zoom) - diagram.Offset.X + MarginSize,
                        (int)(absolute.Y * diagram.Zoom) - diagram.Offset.Y);
                    relative.Height -= (Window.Height - (int)(record.Height * diagram.Zoom)) / 2;

                    Window.Location = Window.ParentLocation + relative;
                }
            }
 internal override void Init(DiagramElement element)
 {
     shape = (EnumShape)element;
     base.Init(element);
 }