本主题介绍如何创建形状并更改其形状、大小和旋转角度。
下面的示例演示如何使用 ShapeCollection.AddShape 方法重载将形状插入到工作表中。
Vb.Net |
'将测量单位设置为英寸。 workbook.Unit = DevExpress.Office.DocumentUnit.Inch '在工作表中的指定位置插入形状。 Dim shape1 As DevExpress.Spreadsheet.Shape = worksheet.Shapes.AddShape(DevExpress.Spreadsheet.ShapeGeometryPreset.RectangularCallout, 0.68F, 0.22F, 2F, 1.25F) '插入一个形状,使其左上角位于指定的单元格中。 Dim shape2 As DevExpress.Spreadsheet.Shape = worksheet.Shapes.AddShape(DevExpress.Spreadsheet.ShapeGeometryPreset.RoundedRectangularCallout, worksheet.Cells("F2"), 2F, 1.25F) '插入一个适合指定单元格范围的形状。 Dim shape3 As DevExpress.Spreadsheet.Shape = worksheet.Shapes.AddShape(DevExpress.Spreadsheet.ShapeGeometryPreset.OvalCallout, worksheet("J2:L7")) |
C# |
// 将测量单位设置为英寸。 workbook.Unit = DevExpress.Office.DocumentUnit.Inch; // 在工作表中的指定位置插入形状。 DevExpress.Spreadsheet.Shape shape1 = worksheet.Shapes.AddShape(DevExpress.Spreadsheet.ShapeGeometryPreset.RectangularCallout, 0.68F, 0.22F, 2F, 1.25F); // 插入一个形状,使其左上角位于指定的单元格中。 DevExpress.Spreadsheet.Shape shape2 = worksheet.Shapes.AddShape(DevExpress.Spreadsheet.ShapeGeometryPreset.RoundedRectangularCallout, worksheet.Cells["F2"], 2F, 1.25F); // 插入一个适合指定单元格范围的形状。 DevExpress.Spreadsheet.Shape shape3 = worksheet.Shapes.AddShape(DevExpress.Spreadsheet.ShapeGeometryPreset.OvalCallout, worksheet["J2:L7"]); |
使用以下 API 定义形状在工作表中的位置:
成员 | 说明 | 描述 |
FloatingObject.Move |
移动 | 按指定的偏移量移动形状。 |
FloatingObject.Top |
返回页首 | 指定工作表的上边缘与形状的左上角之间的距离。 |
FloatingObject.Left |
左 | 指定工作表左边缘与形状左上角之间的距离。 |
FloatingObject.TopLeftCell |
左上角单元格 | 指定形状左上角所在的单元格。 |
FloatingObject.BottomRightCell |
右下角单元格 | 指定形状右下角所在的单元格。 |
FloatingObject.OffsetX |
偏移量X | 指定形状的左上角与TopLeft单元格细胞。 |
FloatingObject.OffsetY |
偏移量Y | 指定形状的左上角与形状的上边缘之间的距离TopLeft单元格细胞。 |
Vb.Net |
shape2.TopLeftCell = worksheet.Cells("F4") shape2.BottomRightCell = worksheet.Cells("H9") |
C# |
shape2.TopLeftCell = worksheet.Cells["F4"]; shape2.BottomRightCell = worksheet.Cells["H9"]; |
使用以下属性可旋转形状并调整其大小:
财产
说明
描述
Shape.Rotation
旋转
指定形状的旋转角度。
FloatingObject.Width
宽度
指定形状的宽度。
FloatingObject.Height
高度
指定形状的高度。
Vb.Net |
shape3.Rotation = 45 shape3.Width = 2.2F shape3.Height = 1.5F |
C# |
shape3.Rotation = 45; shape3.Width = 2.2f; shape3.Height = 1.5f; |
使用 ShapeGeometry.Preset 属性可更改形状的几何类型。下面的示例显示了如何将矩形标注转换为云标注。
Vb.Net |
shape1.ShapeGeometry.Preset = ShapeGeometryPreset.CloudCallout |
C# |
shape1.ShapeGeometry.Preset = ShapeGeometryPreset.CloudCallout; |