xtrareports-devexpress-dot-xtrareports-dot-ui-dot-xrshape-069cfa99.md
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
[SRCategory(ReportStringId.CatBehavior)]
[Browsable(true)]
public ShapeBase Shape { get; set; }
<SRCategory(ReportStringId.CatBehavior)>
<Browsable(True)>
Public Property Shape As ShapeBase
| Type | Description |
|---|---|
| ShapeBase |
A ShapeBase class descendant which contains settings for a particular shape type.
|
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.
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
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();
}
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
// 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
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
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
' 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
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
e.Owner.Controls.Add(control)
control.Shape = New ShapeStar() With {
.StarPointCount = 5,
See Also