[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Collapse]Diagram Control
    Getting Started
   [Expand]Diagram Control
   [Expand]End-User Interaction
   [Collapse]Diagram Items
     Default Shapes
     SVG Shapes
     Items with Custom Content
     Creating Shapes and Containers Using Shape Templates
     Managing Items Interaction
   [Expand]Automatic Layout
   [Expand]Data Binding
    Themes and Styles
    Printing and Exporting
    Saving and Loading Diagrams
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)


Shapes are basic elements of the DiagramControl. End-users can add shapes to the diagram canvas using the DiagramDesignerControl, which provides the Shapes Panel displaying all available shapes.

Shapes are encapsulated by DiagramShape class objects. The size and position of shapes can be specified with the Width, Height, and Position properties. To specify the shape kind in code, use the DiagramShape.Shape property.

Expanded Shape operations


Click a shape to select it. To select multiple shapes, hold the CTRL or SHIFT key and click each shape you want to select. Alternatively, click on the canvas and drag to create a selection rectangle around the shapes you want to select. To select all shapes in the page, press CTRL+A key combination. The selected shapes are outlined by a rectangle with selection handles. To deselect a shape, hold the CTRL or SHIFT key and click it. To deselect all shapes, press the ESC key.


To move the selected shape/shapes, drag it using the mouse or press arrow keys.


To resize the selected shape or multiple shapes, drag one of the selection handles. By default, dragging corner selection handles resizes the container proportionally. To change the aspect ratio, hold the SHIFT key while dragging a corner selection handle or drag one of the side selection handles. To disable the proportional resizing, set the DiagramControl.EnableProportionalResizing to false.


To copy the selected shape or multiple shapes, drag it while holding the CTRL key or press the CTRL+C key combination to copy the selection to clipboard and then press the CTRL+V key combination to paste the clipboard content to the canvas.


To rotate the selected shape or multiple shapes, drag the rotation handle.


Certain shapes display yellow handles when selected. These shapes can be transformed by dragging these handles.

Editing text

Double-click a shape to enter the text editing mode. To accept changes, press the ESC key or click anywhere on the canvas.

Expanding/collapsing subordinate items

Click the expand-collapse button below a shape to show or hide the subordinate items.

Expanded See Also

Is this topic helpful?​​​​​​​