zoukankan      html  css  js  c++  java
  • Spread for Windows Forms快速入门(6)定义单元格的外观

    在Spread中每个单元格都可以被看作一个独立的对象,开发人员不仅可以设置单元格的类型,而且可以为每个单元格设置不同的外观属性。

    设置单元格的颜色

    你可以为一个或多个单元格设置背景色和前景(文本)色。下图所示的是用不同方式设置颜色的示例。创建这些单元格颜色的代码也在下面给出。

    clip_image002

    你可以通过使用代码中单元格的BackColor属性来为该单元格指定背景颜色,使用ForeColor属性来指定文本颜色。 如果这些单元格被选中,你还可以通过对表单使用SelectionBackColor和SelectionForeColor来指定这些颜色。使用表单或外观对象的LockBackColor和LockForeColor属性,你还可以在锁定的单元格中指定一种不同的颜色(背景色或文本色)。

    这段示例代码实现为第二单元格设置背景色和文本色,为锁定单元格和选定单元格设置颜色的功能。

    fpSpread1.ActiveSheet.Cells[0,1].Value = "This is default.";

    fpSpread1.ActiveSheet.Cells[1,1].Value = "This is custom.";

    fpSpread1.ActiveSheet.Cells[2,1].Value = "This is locked.";

    fpSpread1.ActiveSheet.Cells[3,1].Value = "This is selected.";

    fpSpread1.ActiveSheet.Cells[1,1].BackColor = Color.LimeGreen;

    fpSpread1.ActiveSheet.Cells[1,1].ForeColor = Color.Yellow;

    fpSpread1.ActiveSheet.Cells[2,1].Locked = true;

    fpSpread1.ActiveSheet.Protect = true;

    fpSpread1.ActiveSheet.LockBackColor = Color.Brown;

    fpSpread1.ActiveSheet.LockForeColor = Color.Orange;

    fpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors;

    fpSpread1.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range;

    fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell;

    fpSpread1.ActiveSheet.SelectionBackColor = Color.Pink;

    fpSpread1.ActiveSheet.SelectionForeColor = Color.Red;

    为单元格设置一幅背景图片

    你可以通过添加一幅图形图像来自定义单元格的背景。

    clip_image004

    示例代码如下:

    private void Form1_Load(object sender, System.EventArgs e)

    {

    // Create an instance of a text cell.

    FarPoint.Win.Spread.CellType.TextCellType t = new FarPoint.Win.Spread.CellType.TextCellType();

    // Load an image file and set it to BackgroundImage property.

    FarPoint.Win.Picture p = new FarPoint.Win.Picture(Image.FromFile("D:\\images\\lionstatue.jpg"), FarPoint.Win.RenderStyle.Stretch);

    t.BackgroundImage = p;

    // Apply the text cell.

    fpSpread1.ActiveSheet.Cells[1, 1].CellType = t;

    // Set the size of the cell so the image is displayed

    fpSpread1.ActiveSheet.Rows[1].Height = 50;

    fpSpread1.ActiveSheet.Columns[1].Width = 150;

    }

    自定义单元格边界

    你可以通过设置边界来为一个或一组单元格自定义单元格外观。可以为一列、一行、一个表单或者一组单元格设置其边界,但是设置的效果跟对齐每个独立单元格的相同的边界对象是一样的。对于一组单元格,相同的边界对象被应用于每一个单元格。设置边界需要用到单元格类的Border属性,列类的Border属性或者行类的Border属性。

    你可以为相同的单元格、列、行或者一组单元格指定一种以上的样式和颜色。表单中的单元格边界是从左至右、从上至下来绘制的。如果两个相邻边界有着不同的样式或颜色,那么最晚被绘制的边界享有优先权而且被显示出来。单元格边界反映了表单享有的优先级,这个优先级决定了表单元素的特征。在这个优先级顺序中,单元格设置优先于行,列,和表单的设置。

    下表总结了不同的单元格边界样式。

    样式

    示例

    描述

    FarPoint.Win类名

    有斜面的

    clip_image006

    如果高亮和阴影设置了不同颜色,就生成了三维外观。

    BevelBorder

    复合

    clip_image008

    单元格的每一侧的边界都可以显示不同的颜色和类型,边界样式有虚线和点线等。

    ComplexBorder

    混合

    clip_image010

    有可以被边框隔开的两条斜边界。

    CompoundBorder

    双线

    clip_image012

    有两条平行线。

    DoubleLineBorder

    单线边界

    clip_image014

    有一条普通的单线。

    LineBorder

    圆角边缘的单线

    clip_image016

    有一条单线,但其边角是圆的。

    RoundedLineBorder

    边界与网格线的不同点在于边界围在一个或一组单元格的周围,而不区别行和列,同时边界绘制于网格线之上。如果你想要为表单中的所有单元格显示边界,你可以通过设置表单属性HorizontalGridLine和VerticalGridLine为None来关闭网格线显示。

    这段示例代码实现创建一条有斜面的边界并设置给单元格边界:

    // Create the bevel border.

    FarPoint.Win.BevelBorder bevelbrdr = new FarPoint.Win.BevelBorder(FarPoint.Win.BevelBorderType.Raised, Color.Cyan, Color.DarkCyan);

    // Set the bevel border to the cell B3 border.

    fpSpread1.Sheets[0].Cells[4, 3].Border = bevelbrdr;

    对其单元格内容

    你可以决定内容如何在一个或多个单元格中对齐。在代码中,你只需简单地设置HorizontalAlignment和VerticalAlignment属性,并利用CellHorizontalAlignment和CellVerticalAlignment枚举。

    这段示例代码实现设置单元格A1为水平方向右对齐,垂直方向下对齐,单元格B2至C3水平垂直方向均为居中。

    fpSpread1.Sheets[0].Cells[0,0].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right;

    fpSpread1.Sheets[0].Cells[0,0].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Bottom;

    fpSpread1.Sheets[0].Cells[1,1,2,2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;

    fpSpread1.Sheets[0].Cells[1,1,2,2].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;

    执行结果如下图所示:

    clip_image018

    附:Spread for Windows Forms快速入门系列文章

    Spread for Windows Forms快速入门(1)---开始使用Spread

    Spread for Windows Forms快速入门(2)---设置Spread表单

    Spread for Windows Forms快速入门(3)---行列操作

    Spread for Windows Forms快速入门(4)---常用的单元格类型(上)

    Spread for Windows Forms快速入门(5)---常用的单元格类型(下)

    相关阅读:

    Spread for Windows Forms 7新功能使用指南

    Spread Studio 10.0v1 发布

    SpreadJS 10.0v1 发布



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


  • 相关阅读:
    内置函数大总结
    关于 global nonlocal 用法
    Python 基础数据类型相互转换
    Python 嵌套
    Python 基础关于编码
    「总结」 字符串总结
    「总结」 MLEAutoMaton的各种板子总结
    【洛谷4770】 [NOI2018]你的名字(SAM,线段树合并)
    【洛谷4070】 [SDOI2016]生成魔咒(SAM)
    【SP1811】 LCS
  • 原文地址:https://www.cnblogs.com/powertoolsteam/p/2130786.html
Copyright © 2011-2022 走看看