Spread for Windows Forms快速入門(6)—定義儲存格的外觀

來源:互聯網
上載者:User

在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)---常用的儲存格類型(下)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.