DotNetBar for WinForms是一個擁有89個組件的用戶界面控件套包,用戶可以使用Visual Studio 2005-2015輕松地創(chuàng)建專業(yè)的用戶界面。十多年來DotNetBar幫助開發(fā)人員輕松地創(chuàng)建易用的專業(yè)Windows Forms (WinForms) 用戶界面。
點擊立即下載DotNetBar for WinForms
本文將會介紹DotNetBar for WinForms的圖表控件,因為本模塊內(nèi)容較多,所以分為多部分介紹,本文將介紹第二部分圖表容器。
圖表容器
ChartContainer對象是ChartControl中所有容器類型圖表元素的基本容器對象。ChartContainer元素可以是ChartPanel或ChartXy元素。
以下是可用于所有ChartContainer元素(ChartPanel和ChartXy)的屬性列表。
-
Bounds-獲取整個容器區(qū)域的滾動調(diào)整后的矩形邊界。
-
ContentBounds –獲取圖表的內(nèi)容區(qū)域的矩形邊界。對于ChartPanel,它包括整個顯示區(qū)域,但是對于ChartXy元素,它包括制圖區(qū)域,軸,圖例和標(biāo)題。
-
FrameBounds –獲取圖表框架區(qū)域的矩形邊界。由于設(shè)置了邊距,內(nèi)邊距和陰影,因此插入了該區(qū)域-并覆蓋了整個內(nèi)容區(qū)域。
在下圖中,紅色矩形表示容器Bounds,藍(lán)色矩形表示FrameBounds,綠色矩形表示ContentBounds。
-
AutoSizeMode –獲取或設(shè)置用于調(diào)整容器大小的模式,可用的選項為無和填充。默認(rèn)設(shè)置為無(表示不會自動調(diào)整大小)。 填充表示相對于所有其他設(shè)置的容器FillWeight,容器的大小將由分配為FillWeight的容器(請參見下面的FillWeight)確定。
-
ContainerVisualStyles –獲取或設(shè)置容器的視覺樣式。容器支持默認(rèn),MouseOver,Selected和MouseOverSelected的樣式。
-
EffectiveContainerStyle –獲取對容器有效(緩存,復(fù)合)樣式的引用。圖表元素樣式是從較高級別的定義樣式到較低的實例級別的樣式創(chuàng)建的。
換句話說,如果ChartContainer的ChartControl DefaultVisualStyle設(shè)置了背景樣式,則無論級別如何,它對于所有定義的ChartContainer都有效。但是,如果特定的ChartContainer的樣式重新定義了相同的屬性,它將覆蓋ChartControl(或更高級別)級別設(shè)置的DefaultVisualStyle。
不應(yīng)更改有效的樣式屬性,因為重新創(chuàng)建復(fù)合樣式時,通過樣式進(jìn)行的更改將丟失,這是其他樣式和程序更改所必需的。
-
EmptyText –獲取或設(shè)置在容器為空時顯示的文本。對于ChartPanel元素,這是在沒有可顯示的ChartContainer對象的情況下(即ChartContainer集合不包含Visible條目)。對于ChartXy元素,就是沒有針對圖表定義的可顯示ChartSeries時(即,ChartSeries集合不包含Visible條目)。
-
EnableEmptyTextMarkup –獲取或設(shè)置是否啟用EmptyText小型標(biāo)記支持。
-
EnablePanning –獲取或設(shè)置容器是否可以平移(通過在內(nèi)容區(qū)域中單擊并拖動來垂直/水平滾動)。默認(rèn)值為 true。可以為任何/所有容器對象(包括每個ChartPanel,ChartXy和ChartLegend對象)啟用或禁用平移。
-
EnableSelection –指示是否可以使用鼠標(biāo)選擇容器。ChartControl維護(hù)每個圖表容器的選擇狀態(tài),但是除利用Selected / SelectedMouseOver樣式外,當(dāng)前不將其用于其他任何用途。
-
FillWeight –獲取或設(shè)置一個值,當(dāng)AutoSizeMode為Fill時,該值表示容器的寬度相對于其他填充模式容器的寬度(默認(rèn)值為100)
-
HScrollBar –獲取對容器的水平滾動條的引用。根據(jù)容器的內(nèi)容區(qū)域是否可以在給定的區(qū)域中完全顯示,可以顯示水平滾動條,也可以不顯示水平滾動條。控件中的每個滾動條都可以根據(jù)應(yīng)用程序的需要進(jìn)行樣式化。
-
HScrollBarHeight –獲取或設(shè)置水平滾動條的高度。默認(rèn)高度為9,設(shè)置此高度是為了最大程度地減少顯示在屏幕上的面積,從而為圖表數(shù)據(jù)和信息的可視性提供更大的區(qū)域可以根據(jù)應(yīng)用程序的需要將其設(shè)置為更大或更小。
-
HScrollOffset –獲取或設(shè)置水平滾動條的偏移量。此屬性可用于根據(jù)需要滾動容器的內(nèi)容區(qū)域。
-
HScrollBarVisible –獲取或設(shè)置是否在需要時顯示水平滾動條(由于控件內(nèi)容超出可用寬度)。默認(rèn)值為true,但如果不需要水平滾動條,則可以將其設(shè)置為false。
-
IsSelected –獲取或設(shè)置是否選擇了容器。
-
圖例–獲取對容器的ChartLegend的引用可以為每個容器(ChartPanel和ChartXy)顯示一個圖例,也可以根據(jù)需要進(jìn)行組合(父圖例可以選擇包含子圖例條目,例如,如果您有一個5×5的嵌套圖表矩陣,您不必有25個圖例,但可以選擇讓一個圖例控制所有25個子圖表)。
-
MatrixAlignEndColumn –獲取或設(shè)置容器內(nèi)容的X偏移量是否與在同一ChartMatrix列中結(jié)束的其他容器對齊。當(dāng)您在同一ChartControl中定義多個圖表時,將為定義的圖表分配一系列矩陣單元格(自動或直接由應(yīng)用程序分配)。如果有多個圖表以矩陣的同一列結(jié)尾,則不能保證這些容器的右邊緣會對齊(由于標(biāo)題,軸定義等)。如果希望它們對齊,則可以為每個需要對齊的容器將此屬性設(shè)置為true,并且內(nèi)容區(qū)域邊緣將根據(jù)需要對齊。
在下面給出的示例中,每個圖表占用6個水平矩陣單元,由于為它們定義的圖表標(biāo)題(默認(rèn)情況下將它們設(shè)置為自動換行),因此開始和結(jié)束單元格的內(nèi)容默認(rèn)情況下未對齊。
第一張圖片的MatrixAlignStartColumns和MatrixAlignEndColumn屬性設(shè)置為false。
此圖像的MatrixAlignStartColumns和MatrixAlignEndColumn屬性設(shè)置為true。
-
MatrixAlignEndRow –獲取或設(shè)置容器內(nèi)容的Y偏移量是否與在同一ChartMatrix行中結(jié)束的其他容器對齊。這與MatrixAlignEndColumn的原理相同。(請參見上面的MatrixAlignEndColumn)
-
MatrixAlignStartRow –獲取或設(shè)置容器的內(nèi)容從Y軸偏移開始的位置是否與在同一ChartMatrix行中開始的其他容器對齊。這與MatrixAlignEndColumn的原理相同。(請參見上面的MatrixAlignEndColumn)
-
MatrixAlignStartColumn –獲取或設(shè)置容器的內(nèi)容從X偏移開始的位置是否與在同一ChartMatrix列中開始的其他容器對齊。這與MatrixAlignEndColumn的原理相同。(請參見上面的MatrixAlignEndColumn)
-
MatrixAlignStartRow –獲取或設(shè)置容器的內(nèi)容從Y軸偏移開始的位置是否與在同一ChartMatrix行中開始的其他容器對齊。這與MatrixAlignEndColumn的原理相同。(請參見上面的MatrixAlignEndColumn)
-
MatrixDisplayBounds –獲取或設(shè)置容器的矩陣顯示范圍(以矩陣的相對單位)。此屬性遵循“常規(guī)”矩形定義-以與長度和寬度相關(guān)的值開始的偏移量。因此,要將給定容器分配給單個矩陣單元(單元0,0),可以執(zhí)行以下操作(請注意,在以下示例中,矩陣的大小必須至少為8×6):
chartXy.MatrixDisplayBounds = new Rectangle(0, 0, 1, 1);
要將容器設(shè)置為一定范圍的單元格(從0,0開始并包含單元格7、5),可以這樣做,如下所示:
chartXy.MatrixDisplayBounds = new Rectangle(0, 0, 8, 6);
-
MatrixDisplayOrder –獲取或設(shè)置容器在矩陣布局中的顯示順序(較高的值位于較低的值之上)。
在以下示例中,將大型背景圖的MatrixDisplayOrder設(shè)置為0,將較小背景圖的MatrixDisplayOrder設(shè)置為1。
-
MinContentSize –獲取或設(shè)置容器內(nèi)容區(qū)域的最小大小。如果容器的大小設(shè)置為使容器的內(nèi)容區(qū)域變得小于設(shè)置的MinContentSize,則將顯示相應(yīng)的滾動條(如果啟用)。
-
ScrollBounds –獲取可滾動范圍。該值與ContentBounds相同,只是考慮了容器邊框。
-
ScrollBoundsEx –獲取擴(kuò)展的Scrollable范圍。這是容器的擴(kuò)展或?qū)嶋H內(nèi)容區(qū)域(不僅僅是屏幕上的可見區(qū)域)。面積可以大于MinContentSize,但永遠(yuǎn)不會小于。
-
ScrollBoundsOffset –獲取當(dāng)前的水平和垂直偏移(請參見HScrollOffset和VScrollOffset)。
-
Titles–獲取或設(shè)置對容器標(biāo)題集合的引用。每個容器(ChartPanel,ChartXy)可以為它定義任意數(shù)量的標(biāo)題。它們可以位于頂部,底部,左側(cè)或右側(cè),也可以對齊TopLeft,MiddleRight等)。它們可以完全樣式化,帶有邊框,背景,圖像和陰影(如果需要)。如果需要,可以將每個標(biāo)題設(shè)置為自動換行,并且可以將每個標(biāo)題設(shè)置為將換行的數(shù)量限制為給定數(shù)量。
-
VScrollBar –獲取對容器的垂直滾動條的引用。根據(jù)容器的內(nèi)容區(qū)域是否可以在給定區(qū)域中完全顯示(請參見MinContentSize),可以顯示垂直滾動條,也可以不顯示垂直滾動條。控件中的每個滾動條都可以根據(jù)應(yīng)用程序的需要進(jìn)行樣式化。
-
VScrollBarHeight –獲取或設(shè)置垂直滾動條的寬度。默認(rèn)寬度為9,設(shè)置此寬度是為了最大程度地減少顯示在屏幕上的區(qū)域,從而為可視化圖表數(shù)據(jù)和信息提供更大的區(qū)域。可以根據(jù)應(yīng)用程序的需要將其設(shè)置為更大或更小。
-
VScrollOffset –獲取或設(shè)置垂直滾動條的偏移量。此屬性可用于根據(jù)需要滾動容器的內(nèi)容區(qū)域。
-
VScrollBarVisible –獲取或設(shè)置是否在需要時顯示垂直滾動條(由于控件內(nèi)容超出可用高度)。默認(rèn)值為true,但如果不需要垂直滾動條,則可以設(shè)置為false。
以下是所有ChartContainer元素(ChartPanel和ChartXy)可用的方法的列表。
-
確保可見(bool center)
-
確保關(guān)聯(lián)的容器(或給定的容器項目)在屏幕上可見,并且可以選擇在顯示中居中(盡可能)。
-
GetElementAt(Point pt)
-
返回位于給定Point(在本地坐標(biāo)中)的ChartVisualElement;如果Point不在容器內(nèi),則返回null。 請注意,在返回ChartVisualElement時,必須將其強(qiáng)制轉(zhuǎn)換為返回的實際圖表元素,以便訪問特定元素的屬性和方法。
例如:
ChartVisualElement item = GetElementAt(pt);
if (item is ChartXy)
{
ChartXy chart = (ChartXy) item;
chartXy.EnsureVisible(true);
}
返回與給定Point(在本地坐標(biāo)中)關(guān)聯(lián)的ItemHitArea。
創(chuàng)建并返回關(guān)聯(lián)元素的重復(fù)副本。
-
CopyTo(ChartVisualElement復(fù)制)
將所有屬性和樣式定義從關(guān)聯(lián)的元素復(fù)制到給定的副本。
本文的內(nèi)容就到這里,后期會繼續(xù)跟進(jìn)教程,感興趣的朋友,可以持續(xù)關(guān)注本教程。
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: