原創(chuàng)|其它|編輯:郝浩|2011-10-27 16:28:42.000|閱讀 620 次
概述:如果你想在一個(gè)窗體上面展示出XGantt的兩個(gè)實(shí)體,你會(huì)怎么辦呢?此時(shí),你需要使用SplitContainer。SplitContainer是一個(gè)由兩個(gè)面板組成的控件,兩個(gè)面板彼此的比例可在運(yùn)行時(shí)通過(guò)他們之間的分離器交互修改。其實(shí),使用分離器是非常有用處的,例如,一些未被調(diào)度的任務(wù)顯示的時(shí)候可以比其他任務(wù)低。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
如果你想在一個(gè)窗體上面展示出XGantt的兩個(gè)實(shí)體,你會(huì)怎么辦呢?此時(shí),你需要使用SplitContainer。SplitContainer是一個(gè)由兩個(gè)面板組成的控件,兩個(gè)面板彼此的比例可在運(yùn)行時(shí)通過(guò)他們之間的分離器交互修改。其實(shí),使用分離器是非常有用處的,例如,一些未被調(diào)度的任務(wù)顯示的時(shí)候可以比其他任務(wù)低。
如果XGantt的兩個(gè)實(shí)體被置于SplitContainer的兩個(gè)面板上時(shí),實(shí)體之間的寬度和高度的比例可交互修改。
vcGantt1
vcGantt2
為了創(chuàng)建一個(gè)整齊一致的圖片,上下兩個(gè)甘特圖表的表格寬度設(shè)置和時(shí)間刻度可設(shè)置成一樣。此外,你應(yīng)禁用vcGantt1 圖表的水平滾動(dòng)條以及vcGantt2圖表的時(shí)間刻度,這樣的話,就更多的空間顯示數(shù)據(jù)了。
當(dāng)vcGantt1 圖表中水平滾動(dòng)條不能再滾動(dòng)時(shí),你需要用到下面的代碼,因?yàn)橐坏﹙cGantt2圖表的滾動(dòng)條被移動(dòng)時(shí),能確保vcGantt1 圖表可以同時(shí)滾動(dòng)。
private void vcGantt2_VcDiagramHorizontalScrolled(object sender,
VcDiagramHorizontalScrolledEventArgs e)
{
vcGantt1.FitRangeIntoView(e.CurStartDate, e.CurEndDate, 0);
}
在vcGantt1 圖表中時(shí)間刻度解決方案的交互修改需要一個(gè)reaction。
private void vcGantt1_VcTimeScaleSectionRescaling(object sender,
VcTimeScaleSectionRescalingEventArgs e)
{
DateTime leftDate = new DateTime(1,1,1);
DateTime rightDate = new DateTime(1,1,1);
int minBasicUnitWidth = 75; //May have to be adjusted
if (e.NewBasicUnitWidth < 75);
{
e.TimeScale.get_Section((short)e.SectionIndex).UnitWidth =
minBasicUnitWidth;
vcGantt2.TimeScaleCollection.Active.get_Section
((short)e.SectionIndex).UnitWidth
= minBasicUnitWidth;
e.ReturnStatus = VcReturnStatus.vcRetStatFalse;
}
else
vcGantt2.TimeScaleCollection.Active.get_Section
((short)e.SectionIndex).UnitWidth
= e.NewBasicUnitWidth;
vcGantt1.GetCurrentViewDates(ref leftDate, ref rightDate);
.ScrollToDate(leftDate, VcHorizontalAlignment.vcLeftAligned, 0);
}
下面的代碼可用于應(yīng)答兩個(gè)圖表之間分離器的相互移動(dòng):
private void vcGantt1_VcTableWidthChanging
(object sender, VcTableWidthChangingEventArgs e)
{
vcGantt2.LeftTableDiagramWidthRatio =
(short)e.TableDiagramWidthRatio;
}
private void vcGantt2_VcTableWidthChanging
(object sender, VcTableWidthChangingEventArgs e)
{
vcGantt1.LeftTableDiagramWidthRatio =
(short)e.TableDiagramWidthRatio;
}
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)