使用Spread for WinForms表格控件时你可能会遇到这些问题

Spread for WinForms是备受欢迎的兼容Microsoft Excel的.NET电子表格控件。其完备的Excel文档支持使得您可以在企业中分享和访问数据信息,内嵌的图表引擎和数据可视化支持让使用者更加轻松的为商务、工程以及科学应用系统中创建丰富高效的信息中心。

而使用Spread中文版,还可获得近100万字的中文帮助文档。这些文档不仅对产品的每一功能进行了细致的介绍并提供示例代码,还对所有API都提供了中文的说明和参数描述,便于开发人员的学习和使用。我这有Spread for WinForms最新版安装包,有需要的朋友可以体验一下。

本文整理了四个在使用该控件时可能会遇到的关于边框及网格线的问题及处理方法,以下是详细内容:

  • 如何更改焦点指示器

问题描述:选择单元格时,默认单元格会出现黑色边框来突出单元格选择的状态,如何修改指示器样式。如图所示↓

image149_14.jpg

问题解答:可以通过实现IFocusIndicatorRenderer 接口,手动绘制焦点指示器。

关键代码:

public class MyIndicator : FarPoint.Win.Spread.IFocusIndicatorRenderer
    {
public void Paint(System.Drawing.Graphics g, int x, int y, int width, int height, bool left, bool top, bool right, bool bottom)
        {
            SolidBrush r = new SolidBrush(System.Drawing.Color.Red);
            SolidBrush b = new SolidBrush(System.Drawing.Color.Blue);
            SolidBrush gr = new SolidBrush(System.Drawing.Color.DarkGreen);
            g.FillRectangle(r, x, y, 1, height);
            g.FillRectangle(gr, x, y, width, 1);
            g.FillRectangle(r, x + width - 1, y, 1, height);
            g.FillRectangle(b, x, y + height - 1, width, 1);
        }
    }

效果截图:

image149_15.png

详细操作请查看相关示例了解

  • 如何修改选择单元格渲染器的背景色

问题描述:单元格被选择时,背景色会暂时改变,如图蓝色部分所示↓

1.png

问题解答:可以通过实现ISelectionRenderer接口,手动填充选择背景色。

关键代码:

public class SelectionRenderer : FarPoint.Win.Spread.ISelectionRenderer
    {
        public void PaintSelection(Graphics g, int x, int y, int width, int height)
        {
            SolidBrush selectionBrush = new SolidBrush(Color.FromArgb(100, Color.Green));
            g.FillRectangle(selectionBrush, x, y, width, height);
            selectionBrush.Dispose();
        }
    }

效果如图:

2.png

详细操作请查看相关示例了解

  • 如何隐藏默认的横向网格线

问题描述:如题

问题解答:可以通过SheetView下的HorizontalGridLine和VerticalGridLine来获取或设置网格线样式。

关键代码:

 this.fpSpread1.Sheets[0].HorizontalGridLine = new GridLine(GridLineType.None);

效果截图:

image149_18.jpg

  • 如何设置列边框颜色

问题描述:如何以列为单位设置边框样式。

问题解答:Spread 提供了LineBorder 和BevelBorder 类用于设置边框。

关键代码:

FarPoint.Win.LineBorder lineborder = new FarPoint.Win.LineBorder(Color.Green, 2, true, true, true, true);
            fpSpread1.Sheets[0].Columns[0].Border = lineborder;
            fpSpread1.BorderCollapse =  FarPoint.Win.Spread.BorderCollapse.Collapse;

效果截图:

image149_19.jpg

转载于:https://my.oschina.net/u/4164503/blog/3076402

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值