Back to Devexpress

XRShape.Shape Property

xtrareports-devexpress-dot-xtrareports-dot-ui-dot-xrshape-069cfa99.md

latest6.9 KB
Original Source

XRShape.Shape Property

Gets or sets an object which determines a particular shape type along with its settings.

Namespace : DevExpress.XtraReports.UI

Assembly : DevExpress.XtraReports.v25.2.dll

NuGet Package : DevExpress.Reporting.Core

Declaration

csharp
[SRCategory(ReportStringId.CatBehavior)]
[Browsable(true)]
public ShapeBase Shape { get; set; }
vb
<SRCategory(ReportStringId.CatBehavior)>
<Browsable(True)>
Public Property Shape As ShapeBase

Property Value

TypeDescription
ShapeBase

A ShapeBase class descendant which contains settings for a particular shape type.

|

Remarks

There are numerous standard shape types supported by the XRShape class. To specify the shape’s type set the Shape property to an appropriate descendant of the ShapeBase class (e.g. set this property to a ShapeArrow object to get an arrow). Then the Shape property will return an object that corresponds to a particular shape’s type and contains all the properties required by this type.

Example

This example demonstrates how to create the XRShape Arrow type control, and set its basic properties.

Tip

Online Example : How to insert a shape control into a report

csharp
using System;
using System.Drawing;
using System.Windows.Forms;
using DevExpress.XtraReports.UI;
using DevExpress.XtraPrinting.Shape;
//...

private void button1_Click(object sender, EventArgs e) {
    XtraReport1 report = new XtraReport1();

    // Create a shape control.
    XRShape shape = new XRShape();

    // Set the shape's type to Arrow.
    shape.Shape = new ShapeArrow();

    // Adjust the Arrow shape's main properties.
    shape.Angle = 90;
    shape.Width = 200;
    shape.Height = 200;
    shape.ForeColor = Color.Brown;
    shape.FillColor = Color.Beige;
    shape.Stretch = false;

    // Adjust the Arrow shape's specific properties.
    ((ShapeArrow)shape.Shape).ArrowHeight = 50;
    ((ShapeArrow)shape.Shape).ArrowWidth = 50;
    ((ShapeArrow)shape.Shape).Fillet = 20;

    // Preview the report.
    report.Detail.Controls.Add(shape);
    ReportPrintTool pt = new ReportPrintTool(report);
    pt.ShowPreviewDialog();
}
vb
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraPrinting.Shape
'...

Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
    Dim report As New XtraReport1()

    ' Create a shape control.
    Dim shape As New XRShape()

    ' Set the shape's type to Arrow.
    shape.Shape = New ShapeArrow()

    ' Adjust the Arrow shape's main properties.
    shape.Angle = 90
    shape.Width = 200
    shape.Height = 200
    shape.ForeColor = Color.Brown
    shape.FillColor = Color.Beige
    shape.Stretch = False

    ' Adjust the Arrow shape's specific properties.
    CType(shape.Shape, ShapeArrow).ArrowHeight = 50
    CType(shape.Shape, ShapeArrow).ArrowWidth = 50
    CType(shape.Shape, ShapeArrow).Fillet = 20

    ' Preview the report.
    report.Detail.Controls.Add(shape)
    Dim pt As New ReportPrintTool(report)
    pt.ShowPreviewDialog()
End Sub

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.

reporting-winforms-insert-a-shape-control/CS/Form1.cs#L21

csharp
// Set the shape's type to Arrow.
shape.Shape = new ShapeArrow();

asp-net-mvc-grid-create-report-based-on-grid-layout/CS/E4755/Controllers/HomeController.cs#L48

csharp
e.Owner.Controls.Add(control);
control.Shape = new ShapeStar() {
    StarPointCount = 5,

asp-net-web-forms-grid-create-report-based-on-grid-layout/CS/WebApplication1/Default.aspx.cs#L34

csharp
e.Owner.Controls.Add(control);
control.Shape = new ShapeStar() { StarPointCount = 5, Concavity = 30 };
control.BeforePrint += new BeforePrintEventHandler(control_BeforePrint);

reporting-winforms-insert-a-shape-control/VB/Form1.vb#L22

vb
' Set the shape's type to Arrow.
shape.Shape = New ShapeArrow()
' Adjust the Arrow shape's main properties.

asp-net-mvc-grid-create-report-based-on-grid-layout/VB/E4755/Controllers/HomeController.vb#L50

vb
e.Owner.Controls.Add(control)
control.Shape = New ShapeStar() With {.StarPointCount = 5, .Concavity = 30}
AddHandler control.BeforePrint, AddressOf control_BeforePrint

asp-net-web-forms-grid-create-report-based-on-grid-layout/VB/WebApplication1/Default.aspx.vb#L36

vb
e.Owner.Controls.Add(control)
control.Shape = New ShapeStar() With {
    .StarPointCount = 5,

See Also

XRShape Class

XRShape Members

DevExpress.XtraReports.UI Namespace