これはSpreadsheetGearグリッド固有の質問です。セルにコメントを追加すると、セルの右上隅に赤い三角形のマーカーが自動的に表示されます。しかし、何か特別なことを示すために、セルの隅に小さな三角形(異なる色)を追加する必要があります。それは可能ですか?
UPATE:これは、ダニエルの提案に基づいて、セルの任意の隅に三角形を追加するために得たものです。
public void AddTriangleShapeToCorner(IWorksheet worksheet, int row, int col, CellCorners cellCorner)
{
const double width = 5, height = 5;
double xOffset = 0, yOffset = 0;
IWorksheetWindowInfo windowInfo = worksheet.WindowInfo;
if (cellCorner == CellCorners.TopRight || cellCorner == CellCorners.BottomRight)
{
col++;
xOffset = width;
}
if (cellCorner == CellCorners.BottomLeft || cellCorner == CellCorners.BottomRight)
{
row++;
yOffset = height;
}
double top = windowInfo.RowToPoints(row) - yOffset;
double left = windowInfo.ColumnToPoints(col) - xOffset;
IShape shape = worksheet.Shapes.AddShape(AutoShapeType.RightTriangle, left, top, width, height);
shape.Line.Visible = false; // line at top-left corner is not sharp, so turn it off.
shape.Placement = Placement.Move; // make the shape move with cell. NOTE: it doesn't work for top-right and bottom-right corners.
if (cellCorner == CellCorners.TopLeft || cellCorner == CellCorners.TopRight)
shape.VerticalFlip = true;
if (cellCorner == CellCorners.TopRight || cellCorner == CellCorners.BottomRight)
shape.HorizontalFlip = true;
}