在Spread中每個儲存格都可以被看作一個獨立的對象,開發人員不僅可以設定儲存格的類型,而且可以為每個儲存格設定不同的外觀屬性。
設定儲存格的顏色
你可以為一個或多個儲存格設定背景色和前景(文本)色。所示的是用不同方式設定顏色的樣本。建立這些儲存格顏色的代碼也在下面給出。
你可以通過使用代碼中儲存格的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; |
為儲存格設定一幅背景圖片
你可以通過添加一幅圖形映像來自訂儲存格的背景。
範例程式碼如下:
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類名 |
有斜面的 |
|
如果高亮和陰影設定了不同顏色,就產生了三維外觀。 |
BevelBorder |
複合 |
|
儲存格的每一側的邊界都可以顯示不同的顏色和類型,邊界樣式有虛線和點線等。 |
ComplexBorder |
混合 |
|
有可以被邊框隔開的兩條斜邊界。 |
CompoundBorder |
雙線 |
|
有兩條平行線。 |
DoubleLineBorder |
單線邊界 |
|
有一條普通的單線。 |
LineBorder |
圓角邊緣的單線 |
|
有一條單線,但其邊角是圓的。 |
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; |
執行結果如所示:
附: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)---常用的儲存格類型(下)