|
在上一篇,我們介紹了常用了文本類型單元格。除了文本型單元格外,Spread還支持如下13種圖形單元格類型:組合框單元格、按鈕單元格、復(fù)選框單元格、超鏈接單元格、進(jìn)度條單元格、條碼單元格、顏色選擇器單元格、圖片單元、列表框單元格、復(fù)合列組合框單元格、復(fù)合選項(xiàng)單元格、富文本單元格、滾動(dòng)條單元格等。下面我們介紹前五種的基本用法。
組合框單元格ComboBoxCellType
你可以使用一個(gè)組合框單元格以顯示一個(gè)可編輯的下拉列表,用戶通過(guò)在顯示的列表中進(jìn)行選擇完成對(duì)值的輸入。你可以指定項(xiàng)目的列表是否包括顯示伴隨文字的圖標(biāo),同時(shí)也可以指定在任何時(shí)候都顯示的數(shù)字,以及單元格是否對(duì)用戶來(lái)說(shuō)是可編輯的。
僅文本
|
文本以及圖標(biāo)
|
![clip_image002[4] clip_image002[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_1.jpg)
|
![clip_image004[4] clip_image004[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_2.jpg)
|
自定義列表外觀
這里總結(jié)了你可以自定義組合框外觀的若干屬性。
屬性
|
描述
|
BackgroundImage
|
這個(gè)屬性可以讓你設(shè)置一張圖,用于顯示組合框的可編輯部分的 背景。
|
ButtonAlign
|
這個(gè)屬性可以讓你設(shè)定按鈕的顯示位置。
|
ImageList
|
這個(gè)屬性可以使你設(shè)置組合框中下拉菜單里面的文本旁邊顯示的圖標(biāo)。
|
ItemData
|
這個(gè)屬性可以使你為組合框的下拉菜單設(shè)置項(xiàng)目的數(shù)據(jù),此數(shù)據(jù)與顯示的項(xiàng)目不同。
|
Items
|
這個(gè)屬性可以讓你為組合框的下拉菜單設(shè)置項(xiàng)目。
|
ListAlignment
|
這個(gè)屬性可以讓你設(shè)置設(shè)置列表對(duì)齊到單元格上的哪一邊。
|
ListOffset
|
這個(gè)屬性可以讓你設(shè)置從單元格的對(duì)齊邊開始計(jì)算 列表有多少像素的偏移。
|
ListWidth
|
這個(gè)屬性可以讓你設(shè)置下拉列表的寬度(以像素計(jì)算)。
|
MaxDrop
|
這個(gè)屬性可以讓你設(shè)置在列表中每次最多顯示的項(xiàng)目數(shù)。如果 有更多的項(xiàng)目要顯示,列表框就會(huì)顯示垂直滾動(dòng)條。
|
MaxLength
|
這個(gè)屬性可以讓你設(shè)置在組合框中允許顯示的最大字符數(shù)。
|
自定義列表的操作
這里有一個(gè)操作屬性的集合,你可以通過(guò)他們自定義組合框。
屬性
|
描述
|
AcceptsArrowKeys
|
設(shè)置組合框控件如何處理方向鍵。
|
AutoSearch
|
設(shè)置組合框中如何根據(jù)輸入的一個(gè)關(guān)鍵字符來(lái)搜索列表的項(xiàng)目。
|
CharacterCasing
|
設(shè)置文本單元格中的大小寫。
|
CharacterSet
|
設(shè)置文本單元格中所允許使用的字符。
|
Editable
|
設(shè)置你是否可以在組合框中的可編輯區(qū)域鍵入數(shù)據(jù)。
|
EditorValue
|
設(shè)置向底層的數(shù)據(jù)模型寫入的值。
|
ListControl
|
如果你不想使用Spread內(nèi)置的列表控件 ,可以設(shè)置組合框控件中的列表部分來(lái)代替。
|
Spread控件中包括為按鈕單元格和組合框單元格提供了一個(gè)ButtonDrawMode屬性。這個(gè)屬性授權(quán)你在當(dāng)前列,行,或單元格中一直顯示一個(gè)或若干個(gè)按鈕。
下面的代碼示例創(chuàng)建了一個(gè)組合框單元格,列出了1到6月的英文名,并允許用戶輸入其他值:
FarPoint.Win.Spread.CellType.ComboBoxCellType cmbocell = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
cmbocell.Items = (new String[] {"January", "February", "March", "April", "May", "June"});
cmbocell.AutoSearch = FarPoint.Win.AutoSearch.SingleCharacter;
cmbocell.Editable = true;
cmbocell.MaxDrop = 4;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = cmbocell;
|
按鈕單元格ButtonCellType
你可以使用按鈕單元格在單元格中的顯示一個(gè)按鈕。按鈕單元格缺省顯示成一個(gè)默認(rèn)顏色的矩形的按鈕。你可以自定義文本,顏色以及按鈕圖樣并且指定點(diǎn)擊時(shí)觸發(fā)的某個(gè)行為。
![clip_image006[4] clip_image006[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_3.jpg)
自定義按鈕外觀
按鈕可顯示文本、圖片、或者都顯示。如果他們顯示圖片,你可以選擇當(dāng)按鈕按下顯示另外的一張圖片。你可以自定義按鈕單元格的顏色,包括邊框顏色,文本顏色以及背景顏色。另外,按鈕單元格可以顯示三維的外觀,并且你可以自定義高亮和陰影的顏色。
屬性
|
描述
|
BackgroundStyle
|
設(shè)置背景如何被渲染。
|
ButtonColor
|
設(shè)置按鈕的顏色。
|
ButtonColor2
|
當(dāng)繪制一個(gè)漸變色的按鈕時(shí),設(shè)置輔助顏色的使用。
|
DarkColor
|
設(shè)置按鈕底部和右端的邊界的顏色(也就是顯示出三維按鈕中的明亮部分的顏色)。
|
GradientMode
|
設(shè)定斜度按鈕的繪制風(fēng)格。
|
LightColor
|
設(shè)置按鈕頂部和左端的邊界的顏色(也就是顯示出三維按鈕中的陰影部分的顏色)。
|
Picture
|
設(shè)置一幅圖作為按鈕的整體外觀。任何GDI+位圖都可以使用,比如BMP,GIF或者 JPG文件。如果你使用有兩種狀態(tài)的按鈕,這就顯示為一個(gè)未按下的狀態(tài)。
|
PictureDown
|
為已經(jīng)按下的按鈕設(shè)置一副圖。
|
ShadowSize
|
設(shè)置陰影的厚度,陰暗面和陽(yáng)面的顏色(以顯示出他的三維效果)。
|
TwoState
|
設(shè)置按鈕函數(shù)是否顯示為一個(gè)有兩種狀態(tài)的撥動(dòng)開關(guān)。每次你點(diǎn)擊按鈕,按鈕就會(huì)更改狀態(tài)。
|
![clip_image008[4] clip_image008[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_4.jpg)
默認(rèn)情況下,按鈕僅有一個(gè)狀態(tài),當(dāng)且僅當(dāng)指針按下時(shí)才會(huì)改變外觀。你可以將按鈕設(shè)置為兩種狀態(tài)的按鈕,并且當(dāng)按鈕被點(diǎn)擊時(shí),會(huì)在兩種狀態(tài)之間切換。當(dāng)用戶點(diǎn)擊該單元格的任意一點(diǎn)時(shí),按鈕就被觸發(fā)。默認(rèn)情況下,按鈕的行為類似于開關(guān)按鈕,這樣你可以點(diǎn)擊鼠標(biāo)左鍵,并且當(dāng)你松開鼠標(biāo)時(shí),按鈕就會(huì)彈起。如果你愿意,按鈕單元格會(huì)像切換按鈕或者有兩種狀態(tài)的按鈕一樣,當(dāng)你使用鼠標(biāo)左鍵點(diǎn)擊的時(shí)候按鈕會(huì)保持按下狀態(tài)。按鈕為“否”當(dāng)他們沒有被按下時(shí), 為“真”當(dāng)他們被按下時(shí)。
自定義文本外觀
你可以指定按鈕單元格中顯示的文本并且你可以指定文本的外觀。你可以指定按鈕單元格中圖片旁邊的文字對(duì)齊方式以及是否對(duì)多行文字進(jìn)行換行操作。
屬性
|
描述
|
HotkeyPrefix
|
設(shè)置是否顯示下劃線以便顯示快捷鍵(或者熱鍵)。
![clip_image010[4] clip_image010[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_5.jpg)
|
Text
|
設(shè)置顯示在按鈕上的文本。
|
TextAlign
|
相對(duì)于一張圖片設(shè)置文本的對(duì)齊方式。
|
TextColor
|
設(shè)置按鈕中的文本顏色。
|
TextDown
|
如果按鈕是有兩個(gè)狀態(tài)的按鈕,當(dāng)它被按下時(shí),設(shè)置按鈕的顯示的文本。
|
TextOrientation
|
設(shè)置按鈕上文本的方向。 請(qǐng)看下表顯示了有關(guān)于文字方向的各種示例。
|
WordWrap
|
設(shè)置是否對(duì)文本進(jìn)行自動(dòng)換行操作。
|
除了按鈕單元格本身的屬性之外,你也可以通過(guò)設(shè)定FpSpread類的屬性影響按鈕行為。 FpSpread類有一個(gè)針對(duì)于按鈕單元格以及組合框單元格的ButtonDrawMode屬性。這個(gè)屬性允許你總是顯示一個(gè)按鈕或者在當(dāng)前這一列,這一行,或者這一個(gè)單元格中的若干個(gè)按鈕。
在下面的示例中,創(chuàng)建一個(gè)藍(lán)色的帶文本的按鈕。當(dāng)指針被按下時(shí),可以定義不同的顯示文本。這個(gè)實(shí)例按鈕顯示在這個(gè)主題的開頭部分。
FarPoint.Win.Spread.CellType.ButtonCellType bttncell = new FarPoint.Win.Spread.CellType.ButtonCellType();
bttncell.ButtonColor = Color.Cyan;
bttncell.DarkColor = Color.DarkCyan;
bttncell.LightColor = Color.AliceBlue;
bttncell.TwoState = false;
bttncell.Text = "Click and Hold";
bttncell.TextDown = "...now let go.";
bttncell.ShadowSize = 3;
fpSpread1.Sheets[0].Cells[0,2].CellType = bttncell;
|
復(fù)選框單元格CheckBoxCellType
你可以使用復(fù)選框單元格以便在單元格中顯示一個(gè)復(fù)選框,一個(gè)復(fù)選框默認(rèn)地顯示一個(gè)小型的復(fù)選框,此復(fù)選框選有三個(gè)狀態(tài)中的一個(gè),三個(gè)狀態(tài)包括已選,未選,或者置灰。你可以通過(guò)設(shè)置文本自定義復(fù)選框,以決定復(fù)選框的操作,與此同時(shí)可以設(shè)置圖片替換標(biāo)準(zhǔn)的復(fù)選框圖片
自定義文本
你可以通過(guò)為每一個(gè)狀態(tài)指定圖片自定義復(fù)選框。默認(rèn)情況下,復(fù)選框僅有兩個(gè)狀態(tài),已選和未選,所以想要使用所有的三個(gè)狀態(tài),你必須使用ThreeState屬性。默認(rèn)的外觀使用TextTrue,TextFalse和TextIndeterminate屬性以顯示預(yù)定義的文本。點(diǎn)擊單元格的任何一個(gè)地方以改變復(fù)選框的狀態(tài)。
![clip_image012[4] clip_image012[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_6.jpg)
屬性
|
描述
|
Caption
|
無(wú)視其狀態(tài),重載TextTrue,TextFalse,以及TextIndeterminate文本設(shè)置以便設(shè)置復(fù)選框中的文本。
|
HotkeyPrefix
|
設(shè)置ampersand符號(hào)是否顯示以及如何在文本中顯示下劃線快捷鍵。
|
TextAlign
|
設(shè)置單元格中的文本如何根據(jù)復(fù)選框圖形進(jìn)行對(duì)齊。
|
TextFalse
|
對(duì)復(fù)選框中的未選狀態(tài)設(shè)置文本。
|
TextIndeterminate
|
對(duì)復(fù)選框中的不確定狀態(tài)設(shè)置文本。
|
TextTrue
|
對(duì)復(fù)選框中的已選狀態(tài)設(shè)置文本。
|
自定義圖片
在每個(gè)狀態(tài)中,你也可以對(duì)每個(gè)復(fù)選框的狀態(tài)設(shè)置自定義的圖片(使其看上去更像一個(gè)按鈕)。你可以根據(jù)單元格有焦點(diǎn)(普通)或者沒有焦點(diǎn)(不可用),或者是否被點(diǎn)擊(按下)來(lái)決定復(fù)選框的外觀。
屬性
|
描述
|
BackgroundImage
|
設(shè)置這個(gè)單元格的背景圖片。
|
Picture
|
設(shè)置用于復(fù)選框狀態(tài)的圖片。
|
ThreeState
|
設(shè)置復(fù)選框是否有三種狀態(tài)。
|
下面的示例代碼創(chuàng)建一個(gè)三種狀態(tài)的復(fù)選框單元格:
FarPoint.Win.Spread.CellType.CheckBoxCellType ckbxcell = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
ckbxcell.ThreeState = true;
ckbxcell.TextTrue ="選中";
ckbxcell.TextFalse ="未選";
ckbxcell.TextIndeterminate ="不確定";
fpSpread1.ActiveSheet.Cells[0, 0].CellType = ckbxcell;
|
超鏈接單元格HyperLinkCellType
你可以使用一個(gè)超鏈接單元格,它包括作為單一的 超鏈接或者復(fù)合的超鏈接的功能的文本。超鏈接的目標(biāo)可以是一個(gè)統(tǒng)一資源定位符(即URL)。例如:
http://www.
mailto:tool-sales.cn@grapecity.com?Subject=Spread價(jià)格咨詢
你可以指定有多少個(gè)文本成為超鏈接并且其余的顯示為普通文本。你可以自定義超鏈接文本的外觀,以及自定義已經(jīng)被訪問(點(diǎn)擊)的鏈接的顏色。
屬性
|
自定義操作
|
BackgroundImage
|
設(shè)置背景圖片。
|
Link
|
設(shè)置目標(biāo)的URL。
|
LinkArea
|
設(shè)置超鏈接的文本的區(qū)域。
|
LinkColor
|
設(shè)置鏈接的顏色(在他們被訪問或者被點(diǎn)擊之前)。
|
Links
|
設(shè)置超鏈接。
|
Text
|
設(shè)置超鏈接的標(biāo)簽,此標(biāo)簽顯示在單元格中。
|
VisitedLinkColor
|
設(shè)置訪問過(guò)的(點(diǎn)擊過(guò)的)鏈接的顏色。
|
下面的示例設(shè)置了單元格的大小(通過(guò)設(shè)置列寬和行高),以便于圖片適應(yīng)它,定義圖片的位置使其成為超鏈接按鈕, 以及指定目標(biāo)的URL。
fpSpread1.ActiveSheet.Columns[1].Width = 145;
fpSpread1.ActiveSheet.Rows[1].Height = 45;
FarPoint.Win.Spread.CellType.HyperLinkCellType hlnkcell = new FarPoint.Win.Spread.CellType.HyperLinkCellType();
hlnkcell.Text = "點(diǎn)擊訪問我們的產(chǎn)品網(wǎng)站";
hlnkcell.Link ="http://www.";
hlnkcell.LinkArea = new LinkArea(4,7);
hlnkcell.LinkColor = Color.DarkGreen;
hlnkcell.VisitedLinkColor = Color.Chartreuse;
fpSpread1.ActiveSheet.Cells[1, 1].CellType = hlnkcell;
|
進(jìn)度條單元格ProgressCellType
一個(gè)進(jìn)度指示器顯示了一個(gè)跨越了整個(gè)單元格的進(jìn)度顯示器。你可以指定填充的顏色,顯示的文本,顯示文本的顏色及其他屬性。
![clip_image014[4] clip_image014[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_7.jpg)
你可以使用純色填充指示器,默認(rèn)情況下,只會(huì)單獨(dú)顯示指示器,如下圖所示。
![clip_image016[4] clip_image016[4]](http://image85.360doc.com/DownloadImg/2015/05/3018/54188636_8.jpg)
你可以通過(guò)設(shè)置以下的屬性自定義單元格中的進(jìn)度指示器的顯示與操作,比如設(shè)置不同的文本,顯示不同的背景圖,定制不同的進(jìn)度條顏色,甚至指定從一種顏色漸變到另一種顏色
屬性
|
自定義操作
|
BackgroundImage
|
設(shè)置這個(gè)單元格的背景圖片。
|
FillColor
|
設(shè)置進(jìn)度指示器填充部分的顏色。
|
FillColor2
|
設(shè)置進(jìn)度指示器漸變部分填充的第二種顏色。
|
FillTextColor
|
設(shè)置指示器的填充部分的文本顏色。
|
GradientMode
|
設(shè)置一個(gè)漸變樣式進(jìn)度指示器的漸變模式。
|
Maximum
|
設(shè)置用戶可以輸入的最大值。
|
Minimum
|
設(shè)置用戶可以輸入的最小值。
|
Orientation
|
設(shè)置進(jìn)度條的方向。
|
Picture
|
當(dāng)圖片使用該樣式時(shí),設(shè)置用于進(jìn)度的圖片。
|
ShowText
|
設(shè)置是否顯示百分比的填充的字符串。
|
Style
|
設(shè)置該進(jìn)度條(或者幾個(gè)進(jìn)度條)的樣式。
|
Text
|
當(dāng)TextStyle被設(shè)置為Custom的時(shí)候,設(shè)置使用的字符串。
|
TextStyle
|
設(shè)置進(jìn)度條的文本部分是否顯示。
|
下面的示例代碼創(chuàng)建一個(gè)紅色的進(jìn)度指示器單元格:
FarPoint.Win.Spread.CellType.ProgressCellType progcell = new FarPoint.Win.Spread.CellType.ProgressCellType();
progcell.FillColor = Color.Red;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = progcell;
|
附:Spread for Windows Forms快速入門系列文章
Spread for Windows Forms快速入門(1)---開始使用Spread
Spread for Windows Forms快速入門(2)---設(shè)置Spread表單
Spread for Windows Forms快速入門(3)---行列操作
Spread for Windows Forms快速入門(4)---常用的單元格類型(上)
|