让我们从设置Spread的大小和表单的外观开始学习如何定制Spread,这些操作通常放在Form的构造函数中进行,在InitializeComponent()之后调用。
自定义控件的大小
你可以设置Spread控件的规格,这决定了表单中可见的区域的大小。下面的图片中展示了你可以设置的规格,通过设置每一个规格中像素的数量进行设置。
计算Spread控件的高度时,假设滚动条是关闭状态,没有标题,计算所有行的高度以及每一个边界按1个像素计算, 所以,如果现在有10行,每行20像素高度,总的高度为(10 x 20) + (10 x 1) + 1,即211。对Spread宽度的计算方法与高度类似。
下面的代码将Spread控件的高度设置为250像素,并把宽度设置为300像素:
fpSpread1.Height = 250;
fpSpread1.Width = 300;
使用代码设置规格的方式只有在运行时才能看到效果。
设置表单的背景色
每一个表单都有两个不同的背景色。第一个背景色是指所有单元格的数据域的背景色,它是一个表单级别的设置项。 第二个背景色是指单元格以外区域的背景色,同样的,它也是一个表单级别的设置项。
表单中所有单元格的背景色,与其他的属性相同,可以使用表单的默认样式进行设置。 在下面这个示例中,所有单元格的默认样式中的背景色是绿色。
表单的背景色所显示的区域是表单中的非单元格区域,如图片中显示的那样。 缺省情况下,这个区域是系统的控件颜色显示区域,下面这个示例把单元格之外的区域的背景色显示为粉红色。
下面的示例代码把第一个表单的背景色设置为浅黄色。
// Set the first sheet's background color to light yellow.
fpSpread1.InterfaceRenderer = NULL;
fpSpread1.Sheets[0].GrayAreaBackColor = Color.LightYellow;
为表单设置背景图片
在表单的数据区域,你可以为单元格的背景设置一个图片。 因为背景图片大小与表单大小的差异,图片可能会在整个表单的单元格内重复(平铺)显示。
示例代码如下:
private void Form1_Load(object sender, System.EventArgs e)
{
//设置背景图片.
fpSpread1.BackgroundImage = Image.FromFile("D:\\images\\butterfly.gif");
//把表单的背景颜色设为透明
fpSpread1.ActiveSheet.DefaultStyle.BackColor = Color.Transparent;
}
在表单中显示网格线
表单能够显示网格线。你可以设置网格线的颜色,宽度,以及样式。 在下面的图片中,水平的网格线是红色的平行线,垂直方向的网格线是绿色的平行线。
下面的示例代码把水平网格线的颜色设置为红色,并把垂直网格线的颜色设置为黄绿色。 两种网格线都是平行线。
FarPoint.Win.Spread.GridLine HGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.Flat, Color.Red);
FarPoint.Win.Spread.GridLine VGridLine = new FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.Flat, Color.Chartreuse);
fpSpread1.Sheets[0].HorizontalGridLine = HGridLine;
fpSpread1.Sheets[0].VerticalGridLine = VGridLine;
你也可以把网格线的类型设置为None,这样该方向的网格线就会隐藏起来:
fpSpread1.ActiveSheet.HorizontalGridLine = New FarPoint.Win.Spread.GridLine(FarPoint.Win.Spread.GridLineType.None) ;
设置表单的宽高和行列数
在学习设置Spread表单的大小和外观之后,下面的示例代码用来设置表单的宽高和行列数。
fpSpread1.Height = 330;
fpSpread1.Width = 765;
fpSpread1.Sheets[0].ColumnCount = 8;
fpSpread1.Sheets[0].RowCount = 100;
附:Spread for Windows Forms快速入门系列文章