Spread for Windows Forms快速入门(2)(转载)

时间:2022-09-12 10:12:50

让我们从设置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;

 

 

本文是由葡萄城控件技术开发团队发布,转载请注明出处:葡萄城控件