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



本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/633981,如需转载请自行联系原作者

相关文章
|
2月前
|
安全 C# 开发者
Windows Forms 应用开发:一分钟浅谈
本文将带领您从零开始,逐步掌握使用 C# 进行 Windows Forms 开发的技巧,包括创建首个应用、处理常见问题及优化方法。首先介绍如何搭建环境并编写基础代码,接着深入探讨控件使用与布局管理,解决控件重叠和响应式布局难题。最后讲解事件处理与多线程技术,确保长时间任务不阻塞界面,并安全更新 UI 状态,助您开发流畅的应用程序。
131 64
|
1月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
83 9
|
3月前
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
230 0
|
12月前
|
监控 C# Windows
内网桌面监控软件中的远程控制功能实现(基于C#和Windows Forms)
近年来,随着远程办公的兴起,对内网桌面监控软件的需求逐渐增加。本文将探讨如何通过C#和Windows Forms实现内网桌面监控软件中的远程控制功能,并在结尾部分介绍监控到的数据如何自动提交到网站。
365 0
|
索引 Windows 数据库
Spread for Windows Forms快速入门(13)---数据排序
开发人员可以对Spread表单中的行和列进行自动排序操作,如根据指定的列,以升序方式自动排序表单中的数据。同时,也可以显示排序指示器。这些操作不会影响数据模型 仅仅涉及数据如何显示。 允许用户自动地对行进行排序 你可以设置表单以允许用户在列首被点击的情况下使用自动排序这一功能。
1242 0
|
1月前
|
边缘计算 安全 网络安全
|
23天前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
27天前
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
|
27天前
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
|
23天前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域