Back to Devexpress

DiagramShape.Shape Property

windowsforms-devexpress-dot-xtradiagram-dot-diagramshape-a8b89602.md

latest4.5 KB
Original Source

DiagramShape.Shape Property

Gets or sets the shape kind.

Namespace : DevExpress.XtraDiagram

Assembly : DevExpress.XtraDiagram.v25.2.dll

NuGet Package : DevExpress.Win.Diagram

Declaration

csharp
[DiagramCategory(DiagramCategory.Appearance)]
public virtual ShapeDescription Shape { get; set; }
vb
<DiagramCategory(DiagramCategory.Appearance)>
Public Overridable Property Shape As ShapeDescription

Property Value

TypeDescription
ShapeDescription

An object that specifies the shape kind.

|

Remarks

Shape kinds are specified by certain DevExpress.Diagram.Core.ShapeDescription class objects.

Using the following classes, you can access predefined shapes. These classes provide sets of static properties that return specific ShapeDescription objects:

  • DevExpress.Diagram.Core.BasicShapes
  • DevExpress.Diagram.Core.BasicFlowchartShapes
  • DevExpress.Diagram.Core.SDLDiagramShapes
  • DevExpress.Diagram.Core.ArrowShapes
  • DevExpress.Diagram.Core.SoftwareIcons
  • DevExpress.Diagram.Core.DecorativeShapes

See the Diagram Items document for information on shapes provided by these classes.

Example

The following code assigns the DevExpress.Diagram.Core.BasicFlowchartShapes.Decision shape kind to a shape and specifies the shape text and size.

csharp
diagramShape1.Shape = DevExpress.Diagram.Core.BasicFlowchartShapes.Decision;
diagramShape1.Content = "Initialized?";
diagramShape1.Size = new Size(150, 60);

The following code snippets (auto-collected from DevExpress Examples) contain references to the Shape property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

winforms-diagram-track-and-restrict-drag-actions/CS/WinApp7/Form1.cs#L20

csharp
private void DiagramControl1_AddingNewItem(object sender, DevExpress.XtraDiagram.DiagramAddingNewItemEventArgs e) {
    e.Cancel = (e.Item is DiagramShape shape && shape.Shape == BasicShapes.Rectangle);
}

winforms-diagram-create-custom-toolbox/CS/CustomDiagramToolboxExample/Form1.cs#L79

csharp
var draggedItem = (DiagramShape)gridHitInfo.View.GetRow(gridHitInfo.RowHandle);
var tool = new FactoryItemTool("", () => "", diagram => new DiagramShape(draggedItem.Shape), new System.Windows.Size(150, 100));
diagramControl1.Commands.Execute(DiagramCommandsBase.StartDragToolCommand, tool, null);

winforms-diagram-create-custom-toolbox/VB/CustomDiagramToolboxExample/Form1.vb#L76

vb
Dim draggedItem = CType(Me.gridHitInfo.View.GetRow(Me.gridHitInfo.RowHandle), DevExpress.XtraDiagram.DiagramShape)
Dim tool = New DevExpress.Diagram.Core.FactoryItemTool("", Function() "", Function(diagram) New DevExpress.XtraDiagram.DiagramShape(draggedItem.Shape), New System.Windows.Size(150, 100))
Me.diagramControl1.Commands.Execute(DevExpress.Diagram.Core.DiagramCommandsBase.StartDragToolCommand, tool, Nothing)

See Also

Diagram Items

DiagramShape Class

DiagramShape Members

DevExpress.XtraDiagram Namespace