Devexpress中Chart控制項座標的移動

2021-05-26 04:40:35 字數 1669 閱讀 4626

在利用devexpress的chart控制項作圖時,常要對控制項的座標進行設定,否則,圖形會在介面上不斷地累加,如下圖所示。橫座標不斷累積,從而使圖形顯得臃腫,現在,我們要新增**對橫座標進行設定,使其可以進行移動。

解決的方法及步驟如下:

1)可以到dexexpress中檢視xtracharts的sample,可以檢視當中的real-time chart,裡面有相關的解決**。

**如下:

void timer_tick(object sender, eventargs e) 

datetime mindate = argument.addseconds(-timeinterval);

int pointstoremovecount = 0;

foreach(seriespoint point in series1.points)

if(point.datetimeargument < mindate)

pointstoremovecount++;

if(pointstoremovecount < series1.points.count)

pointstoremovecount--;

series1.points.addrange(pointstoupdate1);

series2.points.addrange(pointstoupdate2);

if(pointstoremovecount > 0)

if(axisxrange != null)

axisxrange.setminmaxvalues(mindate, argument);

}

這段**中以時間為橫座標,當橫座標上的時間小於預設的時間時,series上的點落入刪除的區間,最後呼叫points的removerange

刪除這些點。

2)我的實現方案

devexpress.xtracharts.seriespoint p = new devexpress.xtracharts.seriespoint(st, val); 

chartcontrol1.series[0].points.add(p);

nowlength++;

if (nowlength > xlength)

xlength是自己設定的乙個int,表示你期望在橫座標上顯示的點,當現在的點數nowlength超過這個值,就會將最前面的這個差額

減去。從而一直維護下去。

執行效果:

其實,這裡的邏輯可以更簡單,上述程式的意思就是在介面上點數量一定時,增添乙個點,最前面就刪除乙個點。所以,有以下程式變種,邏輯相同,程式卻更為簡單:

devexpress.xtracharts.seriespoint p = new devexpress.xtracharts.seriespoint(st, val);

chartcontrol1.series[0].points.add(p);

nowlength++;

if (nowlength > xlength)

第一篇技術博文,希望能夠在csdn,和各位大俠一起成長,我這只菜青色的小鳥,希望在各位大俠的幫助下翱翔藍天,蛻變為大鵬。

請多多指教。

DevExpress中DateEdit控制項漢化

在網上找到好多這方面的資料,可是我卻不知道把那些 放 歪打誤撞,終於對了,我要漢化的只有裡面的 clear和today button frmmain.designer.cs檔案中 加入一段 public class cheditlocalizer localizer return base.getl...

DevExpress中TreeList樹樣式調整

devexpress的treelist預設是沒有樹狀線的,修改treelinestyle屬性無效,這對於tree並不好看。官方解釋說對於devexpress的標準主題是不支援treelist有treeline的 不是技術問題,是設計理念不同 如devexpress style,devexpress ...

DevExpress中透明玻璃效果

aero玻璃效果 下圖左是devexpress無玻璃效果,圖右是windows自帶玻璃效果.windows aero 是從 windows vista 開始使用的新型使用者介面,透明玻璃感讓使用者一眼貫穿。aero 為四個英文單字的首字母縮略字 authentic 真實 energetic 動感 r...